前提・実現したいこと

Ruby on Railsでティンダーのようなマッチングサービスを作っています。
AmazonのS3を活用。CarrierWaveを使用してユーザーのプロフィール画像をアップロードする機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

Errno::EISDIR in UsersController#update
Is a directory @ rb_sysopen - public/user_images/

該当のソースコード

@user.profile_img="#{@user.id}.jpg"
img_name=params[:profile_img]
File.binwrite("public/user_images/#{@user.profile_img}",img_name.read)
end
if@user.save
flash[:notice]="編集が完了しました"

試したこと

ファイル名が保存できていないため、
binding.pryで確認を行った結果
@user.profile_img="#{@user.id}.jpg"
の@user.profile_imgがnilになっていました。

補足情報(FW/ツールのバージョンなど)

ユーザーの新規登録時は画像は登録しません。
新規登録後に編集ページに移行しまして、画像のアップロードを行います

edit.html
画像アップロードのviewです。

<%= form_tag("/users/#{@user.id}/update",{multipart: true})do%>
<% @user.errors.full_messages.each do |message| %>
  <div class="form-error">
    <%= message %>
  </div>
<% end %>

<div class="form-group_img">
<p class="txt">プロフィール画像</p>
<input name="profile_img" type="file" class="profileimg">
</div>
users_controller
編集のアクションです。

  def update
     @user=User.find_by(id:params[:id])
     @user.name=params[:name]
     @user.university=params[:university]
     @user.self=params[:self]
     @user.sex=params[:sex]
     @user.graduate=params[:graduate]


     if params[:profile_img]
       @user.profile_img="#{@user.id}.jpg"
       img_name=params[:profile_img]
       File.binwrite("public/user_images/#{@user.profile_img}",img_name.read)
     end
     if@user.save
       flash[:notice]="編集が完了しました"
       redirect_to("/posts/index")
     else
       render("users/edit")
     end
  end
app/uploaders/profile_img_uploader.rb
class ProfileImgUploader < CarrierWave::Uploader::Base
  # Include RMagick or MiniMagick support:
  # include CarrierWave::RMagick
  # include CarrierWave::MiniMagick

  # Choose what kind of storage to use for this uploader:
  # storage :file
  storage :fog

  # Override the directory where uploaded files will be stored.
  # This is a sensible default for uploaders that are meant to be mounted:
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
end

下記、該当するであろうgemファイルになります。
gem 'carrierwave', '~> 1.0'
gem 'fog-aws'
gem 'dotenv-rails'
gem 'mini_magick'
app/models/user.rb
ユーザーのモデルになります。
class User < ApplicationRecord

  mount_uploader :profile_img, ProfileImgUploader
  has_many :posts, dependent: :destroy
end