railsでの画像のバイナリデータの取得
railsで画像を選択して保存したいのですが、指定したパスにファイルはできますがバイナリデータの取得がうまくいかないために正しいファイルが作成されません。以下にコードを載せます。
view(画像に関係する部分のみ載せます)
<%= form_tag(action: :create, :multipart => true) do %>
<%= label :book, :画像1 %>
<%= file_field :book, :image_name1 %>
<% end %>
controller
def create
@book = Book.create(create_params)
image = params[:book][:image_name1]
File.open("public/books_image/#{@book.image_name1}", "wb"){
|f| f.write(image.read)
}
if @book.save
redirect_to book_path(@book)
else
render action: 'new'
end
end
private
def create_params
params.require(:book).permit(:name, :isbn, :author, :lesson, :money, :image_name1, :user_id).merge(:user_id => current_user.id)
end
model
t.string :image_name1