Rails でファイルのアップロードの問題に遭遇しました。file_field :file
で使用できるヘルパーを見つけましたform_for(@some_model)
。ただし、これらのタグは一括割り当てによってモデルを作成/編集するために使用されるため、この場合の使用法は見つかりません。私の知る限り、 fileupload を典型的なフィールドとして扱う可能性はありません(Multipart Form を使用して Ruby on Rails 3 でファイルのアップロードが機能しないを参照)。このような場合、アップロードしたファイルを手動で操作する必要があります。では、なぜ誰かがモデル編集の一部としてファイルのアップロードをしたいのでしょうか?
写真.rb
class Photo < ActiveRecord::Base
attr_accessible :name, :filename,
end
photo_form.html.erb
<%= form_for(@photo, :multipart => true) do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.file_field :file %>
<%= f.submit %>
<% end %>
photos_controller.rb
def create
@photo = Photo.new(params[:photo])
:file 属性がないため、上記の行は失敗します。から手動で削除する前に処理する必要があります:params
。もう一度-そのようなタグの実際の使用法はありますか?