チェックボックスにレ点がついている取扱者に一括で告知メールを送りたいです。
※送信先メールアドレスは表示していませんが、テーブルに保存されています。
ボタン『一括送信』を押下しても、一切ログが表示されません。※エラーログも表示されません。
ビュー、コントローラーやルーティングの記述におかしい点がございましたら、ご指摘ください。
よろしくお願いいたします。
【参考】
一括送信処理のために次のコード
<%= form_tag({ controller: :sellers, action: :mail_all }, method: 'get') do %> (省略) <%= submit_tag "一括送信" %> <% end %>
を追記したところ、それまで動いていたボタン『反転』も動かなくなりました。
コード
『app/views/sellers/index.html.erb』
ruby
1(省略) 2 <tbody> 3 <%= form_tag({ controller: :sellers, action: :mail_all }, method: 'get') do %> 4 <% @sellers.each do |seller| %> 5 <tr> 6 <% if current_seller.admin_flag %> 7 <td align="center"><%= check_box_tag 'sellers[]',seller.id %></td> 8 <td align="center"><%= button_to '反転', seller_path(seller), {method: "patch"} %></td> 9 <td align="center"><%= button_to '削除', seller_path(seller), {method: "delete"} %></td> 10 <% end %> 11 <td align="center"><%= seller.name %></td> 12 <td align="center"> 13 <% if seller.admin_flag %> 14 ☑️ 15 <% else %> 16 - 17 <% end %> 18 </td> 19 <td><%= "#{@host_with_port}/registers/#{seller.id}/new" %></td> 20 </tr> 21 <% end %> 22 <%= submit_tag "一括送信" %> 23 <% end %> 24 <%= paginate @sellers -%> 25 </tbody> 26 (省略)
『app/controllers/tickets_controller.rb』
ruby
1(省略) 2def update 3 @seller = Seller.find(params[:id]) 4 @seller.admin_flag = !@seller.admin_flag 5 6 if @seller.save 7 flash[:notice] = "フラグを反転させました" 8 redirect_to("/sellers") 9 else 10 redirect_to("/sellers") 11 end 12 end 13 14 def mail_all 15 @sellers = Seller.where(id: params[:sellers]) 16 17 @sellers.each do |seller| 18 UserMailer.notice_mail_for_url(seller).deliver 19 end 20 end 21(省略)
『config/routes.rb』
ruby
1(省略) 2resources :sellers, :only => [:index, :update, :destroy, :mail_all] 3get :sellers, to: 'sellers#mail_all' 4 (省略)
補足情報(FW/ツールのバージョンなど)
Rails 5.2.4.2
ruby 2.6.3p62
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。