2つのファイルをアップロードするformの書き方で分からないところがあります。
carrierwaveを使っています。
この辺を参考にしていますが、1番め、2番めのファイルをそれぞれ、別個に選択して、
リクエスト内にdispidxの値として入れるように拡張しようとしています。
現状のソース
<%= f.fields_for :photos do |p| %> <%= f.hidden_field 'photos[photo][dispidx]', :value => '1', :multiple => true %> <div class="field"> <%= p.label :image1 %><br> <%= p.file_field :image1, name: "photos[photo][image]", :multiple => true %> </div> <%= f.hidden_field 'photos[photo][dispidx]', :value => '2', :multiple => true %> <div class="field"> <%= p.label :image2 %><br> <%= p.file_field :image2, name: "photos[photo][image]", :multiple => true %> </div> <% end %>
現状受け取っているリクエスト
"photos"=> {"photo"=> "dispidx:1"=>#<ActionDispatch::Http::UploadedFile:0x007f92973b6d80 @tempfile=#<Tempfile:/var/folders/75/bxdcyhzd253b3mhcq7yr_02h0000gn/T/RackMultipart20161112-60975-hemsh7.png>, @original_filename="hoge1.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"photos[photo][dispidx:1]\"; filename=\"hoge1.png\"\r\nContent-Type: image/png\r\n">, "dispidx:2"=>#<ActionDispatch::Http::UploadedFile:0x007f92973b6448 @tempfile=#<Tempfile:/var/folders/75/bxdcyhzd253b3mhcq7yr_02h0000gn/T/RackMultipart20161112-60975-12j4rnn.png>, @original_filename="hoge2.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"photos[photo][dispidx:2]\"; filename=\"hoge2.png\"\r\nContent-Type: image/png\r\n">}}
欲しいリクエスト
"photos"=>[ {"photo"=>{"image"=>#<ActionDispatch...>, "dispidx"=> 1}, {"photo"=>{"image"=>#<ActionDispatch...>, "dispidx"=> 2}} ]
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。