Убрать массив из показа под моими рельсами erb-form - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть форма флажка, где вы можете выбрать много клиентов для участия в одном мероприятии. Форма работает, но под ней находится массив всех клиентов, и я не могу понять, как ее удалить.

events.rb

def addcustomer
    @event = Event.find(params[:id])
    @customer = Customer.all
  end

rout.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 %>  

Вот фотография того, как выглядит проблема: enter image description here

Вот репо https://github.com/robbiesoho/fanfactory

Я надеюсь, что кто-то может помочь. Спасибо

1 Ответ

1 голос
/ 16 апреля 2020

там показываются не параметры, а все клиенты. Если вы замените <%= @customer.each do |customer| %> на <% @customer.each do |customer| %>

Разница в том, что я удаляю =. = означает, что строка должна быть добавлена ​​к HTML как текст. в этой строке находится массив @customer, и результат f @customer.to_s - это то, что вы видите там.

Для получения дополнительной информации, пожалуйста, прочитайте: В чем разница между <%, <% = , <% # и -%> в ERB в Rails?

...