我有一个复选框,您可以在其中选择许多客户参加一个活动。该表单有效,但是下面有许多客户,我不知道如何删除它。
events.rb
def addcustomer
@event = Event.find(params[:id])
@customer = Customer.all
end
routes.rb
resources :events do
get 'addcustomer', on: :member, as: 'add'
end
addcustomerform.html.erb
<%= form_for(@event) do |f| %>
<%= hidden_field_tag "event[customer_ids][]", nil%>
<%= @customer.each do |customer| %>
<%= check_box_tag "event[customer_ids][]", customer.id,
@event.customer_ids.include?(customer.id), id:dom_id(customer) %>
<%= label_tag dom_id(customer), customer.id %>
<%= label_tag dom_id(customer), customer.name %> --
<%= label_tag dom_id(customer), customer.email %> --
<%= label_tag dom_id(customer), customer.phone %>
<br>
<% end %>
<br>
<%= f.submit%>
<% end %>
这里是仓库https://github.com/robbiesoho/fanfactory
我希望有人可以提供帮助。谢谢
这里没有显示参数,而是所有客户。如果将<%= @customer.each do |customer| %>
替换为<% @customer.each do |customer| %>
区别在于我删除了=
。 =
表示该行应作为文本添加到HTML。在该行上的是@customer
数组,结果f @customer.to_s
是在那里看到的结果。
有关更多信息,请阅读:What is the difference between <%, <%=, <%# and -%> in ERB in Rails?