前提・実現したいこと
プログラミング初学者です。
Ruby on Railsでブックマーク管理アプリを作成しています。
今回、ブックマーク一覧画面からチェックボックスで選択したブックマーク(1個〜複数個)をまとめて配列でコントローラに送る機能を実装しました。
チェックボックスにチェックが何もない時と正しくチェックされている時の条件分岐をコントローラーに値が送られてきた時に行いたいです。
しかし、どの様に書けば良いのか分かりません。(送られてくる値の変数名)
この場合どの様にコードを書けば良いのかご教授いただけないでしょうか?
該当のソースコード
index.html.erb
<%= form_with model: @contents, url: contents_path, method: :delete, local: true do |f| %> <% @contents.each do |content| %> <% @count += 1%> <tr> <td> <%= f.check_box :content_ids, {type: 'checkbox', class: 'checkbox-select', id: "checkbox#{@count}", multiple: true, include_hidden: false}, content.id %> <%= f.label :'', for: "checkbox#{@count}",class: 'select-label' %> </td> <td> <%= link_to content.name, content %> </td> <td> <%= link_to 'URL', content.url %> </td> <%#概要は空白の場合の処理も記載%> <td><%= link_to content.description.blank? ? 'None' : content.description, content %></td> <%#カテゴリーは空白の場合の処理も記載%> <td><%= link_to content.category.blank? ? 'None' : content.category, content %></td> <td><%= link_to content.updated_at.to_s(:datetime_jp), content %></td> </tr> <% end %> <%= f.button select_destroy_path, method: :delete, data_toggle: 'tooltip', data_placement: 'topdo', title: '削除',data: {confirm: "ブックマークを削除します"},class: 'select_submit' do %> <%= embedded_svg('delete.svg', class: "delete")%> <% end %> <% end %>
contents_controller.rb
def select_destroy select_content_params.each{|id| content = Content.find(id) content.destroy } redirect_to contents_url, notice: "ブックマークを削除しました" end private def select_content_params ids = params.require(:content).permit(content_ids: []) ids.values[0] end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。