次のコードを使用して、ルート rails ディレクトリの /public/uploads/ フォルダーに画像をアップロードしています。
uploaded_io = params[:product_image]
File.open(Rails.root.join('public','uploads', uploaded_io.original_filename), 'w') do |file|
file.write(uploaded_io.read)
end
私のフォームは次のようになります
<%= form_tag({:action => :configure_product}, :multipart => true) do %>
<%= label_tag(:product_image, "Image:") %><br />
<%= file_field_tag 'product_image' %>
<%= submit_tag "Save and add another", :name => 'save and add another' %>
<%= submit_tag "Save", :name => 'save' %>
<% end %>
しかし、フォームを送信しようとすると、次のエラーが発生します。
Encoding::ConfigureCategoryController#configure_product の UndefinedConversionError
ASCII-8BIT から UTF-8 への "\xFF"
書き込みモードを「w」から「wb」に置き換えたところ、次のようになりました
ConfigureCategoryController#configure_product の NoMethodError
nil:NilClass の未定義のメソッド `name'
レールの新機能。きっと助けていただければ幸いです。