Ruby on Rails:在提交时反转复选框选中/取消选中值

问题描述 投票:0回答:1

我有一个网站,你可以在那里注册一些我称之为会谈的活动。注册后,“访客”会收到一封确认电子邮件,其中包含生成的取消订阅链接。该链接将打开一个表单,其中列出了访客注册的所有事件。

现在要取消订阅活动,访客必须取消选中活动的复选框。但我希望它倒置,以便他们必须检查事件以取消订阅它。


模特

class Guest < ApplicationRecord
  has_and_belongs_to_may :talks
end

class Talk < ApplicationRecord
  has_and_belongs_to_may :guests
end

取消订阅表格

<%= form_for @guest do |f| %>
  <% f.collection_check_boxes :talk_ids, @guest.talks, :id, :name do |b| %>
    <%= b.check_box %>
    <%= b.object.name %>
  <% end %>

<input type="submit" value="Unsubscribe">
<% end %>

提交后的更新功能

def update_talks
  @guest = Guest.find(params[:id])
  if @guest.update(guest_params)
    redirect_to root_url
  else
    flash[:notice] = "Failed"
  end
end

我找不到解决方案所以我希望你们能告诉我如何反转复选框?

html ruby-on-rails checkbox form-for
1个回答
-1
投票

我在Rails中是一个非常初学者,但如果复选框已经检查过,它可能会更好

© www.soinside.com 2019 - 2024. All rights reserved.