Sto creando un modulo per un oggetto Ordine e l'ordine ha molti prodotti, tramite una tabella di join denominata OrderProducts. Qualcosa di così, abbiamo in questo modo:Sintassi per form_for quando si costruisce un array dalle caselle di controllo
<% @order = Order.new %>
<% form_for @order do |f| %>
<% @products.each do |product| %>
... want to iterate over products here to build up "order[product_ids][]", with one checkbox per product
<% end %>
<% end %>
Di solito per ogni prodotto avrei una check_box_tag, dicendo
<%= check_box_tag "order[product_ids][]", product.id, @order.product_ids.include?(product.id) %>
Ma questo, mentre si lavora bene, si sente sempre come un po 'di un poliziotto su. C'è un modo per farlo con la sintassi f.check_box
? Nota importante: sul progetto in questione sto lavorando su Rails 2.2.2, quindi una soluzione che funzioni su Rails 2 sarebbe l'ideale.
Spero che questo aiuti :) => http: // apidock.com/rails/ActionView/Helpers/FormHelper/fields_for # 357-Utilizzo campi-per-con-molte-associazioni – Prair
Penso che questo sia dove http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper .html # method-i-collection_check_boxes è disponibile in –