Я занимаюсь разработкой небольшого приложения в Rails 3.
На одной странице я собираю идентификаторы для каждого пользователя (в каждом цикле) в массиве. Затем я помещаю содержимое этого массива в скрытое текстовое поле и отправляю его в метод с именем «add_all». В этом методе я получил цикл, который должен выбирать идентификатор каждого пользователя и добавлять его в базу данных один за другим, но добавляет только первый.
В представлении (немного упрощенно):
<% profileids = Array.new %>
<% @notfriends.each do |contact| %>
<% profileids << contact.id %>
<% end %>
<%= hidden_field_tag :profileids, profileids.join(",") %>
В контроллере:
params[:profileids].each do |id|
@profile = Profile.find(params[:profile_id])
@contact = Contact.create(:profile_id => params[:profile_id], :friend_id => id)
@profile.contacts << @contact
end
Я действительно делаю это правильно? Почему каждый контроллер не проходит по массиву?