私の環境
- Rails 3.2.1
- ルビー1.9.3p194(2012-04-20リビジョン35410)[x86_64-darwin11.4.0]
- jquery-rails(2.0.2)
- ペーパークリップ(3.0.4)
コントローラで「commit」の値を取得したい。
<%= form_for @foo, :url => '/foo/edit/',:remote => true, :html => {:multipart => true}, :id => "peroform" do |f| %>
<%= f.file_field :logo %>
<%= f.submit "logo" %>
<% end %>
ファイルを選択しない場合、コミット値を取得できます。
Parameters: {"utf8"=>"✓", "authenticity_token"=>"****", "commit"=>"logo"}
ただし、ファイルを選択すると、パラメータの値が削除されます。
Parameters:
{"foo"=>{"logo"=>#<ActionDispatch::Http::UploadedFile:0x007fd2c0277e88 @original_filename="bar.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"foo[logo]\"; filename=\"bar.png\"\r\nContent-Type: image/png\r\n", @tempfile=#<File:/tmp/RackMultipart20120531-44915-r5kb52>>}, "utf8"=>"✓", "authenticity_token"=>"*", "remotipart_submitted"=>"true", "X-Requested-With"=>"IFrame", "X-Http-Accept"=>"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01"}
どうすればコミット値を取得できますか?
次に、このように複数の送信を使用したいと思います。「logosubmit」を押したときに「logo」だけを保存したいのですが、「allsubmit」を押したときに「name」と「logo」を保存したいです。
<%= form_for @foo, :url => '/foo/edit/',:remote => true, :html => {:multipart => true}, :id => "peroform" do |f| %>
<%= f.file_field :logo %>
<%= f.submit "logo" %>
<%= f.text_field :name %>
<%= f.submit "all" %>
<% end %>
この複数の送信ボタンについて何か考えがありますか。
よろしくお願いします。