前提・実現したいこと
右端にあるチェックボックスでチェックをつけたデータを一括削除したい。
発生している問題・エラーメッセージ
配列に格納してコントローラーにまで渡せているのですが、そこから処理ができない。niLlClassになる。
該当のソースコード
view
1<tbody> 2 <%= form_tag({ controller: :goods, action: :destroy_all },method: 'delete') do %> 3 <% @goods.each do |good| %> 4 <tr> 5 <td text-align:center;><img height="80" src="<%=h good.image_url %>"/></td> 6 <td><%= good.goods_id %></td> 7 <td><%= good.title %></td> 8 <td><%= good.description %></td> 9 <td><%= good.image_url %></td> 10 <td><%= (good.price).to_i %>円</td> 11 <td><%=h ((good.date).to_date).strftime('%Y年%m月%d日') %></td> 12 <td><%= good.maker %></td> 13 <td><%= good.category %></td> 14 <td><%= link_to '詳細', good, class: 'btn' %></td> 15 <td><%= link_to '編集', edit_good_path(good), class: 'btn' %></td> 16 <td><%= link_to '削除', good, method: :delete, data: { confirm: '本当に削除してもよろしいですか?' }, class: 'btn' %></td> 17 <td><%= check_box_tag 'goods[]',good.id %> </td> 18 </tr> 19 <% end %> 20<div class="actions"> 21 <%= submit_tag "一括削除" %> 22 </div> 23 <% end %> 24 </tbody> 25</table>
...
contoller
1def destroy_all 2 @goods.destroy 3 respond_to do |format| 4 format.html { redirect_to goods_url, notice: '商品を削除しました。' } 5 format.json { head :no_content } 6 end 7 end
routes
1 controller :sessions do 2 3 get 'login' => :new 4 post 'login' => :create 5 delete 'logout' => :destroy 6 7 end 8 9 resources :users 10 resources :orders 11 resources :line_items 12 resources :carts 13 delete :goods, to: 'goods#destroy_all' 14 get 'market/show' 15 16 resources :goods 17 root :to => 'market#index', as: 'market'
...
試したこと
様々なHPを見ながら試したのですが、えらーが解消できず。
params[:goods]を使うとはおもっているのですが、そこの記述がどーしても出来ませんでした。
補足情報(FW/ツールのバージョンなど)
ruby 2.4.3
rails 4.2.10

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/24 12:05
2019/01/25 02:05 編集