Rails создают несколько записей с несколькими полями - PullRequest
1 голос
/ 21 марта 2011

Я пытаюсь создать несколько записей с двумя коллекциями, которые у меня есть

Просмотреть

<%= text_field_tag "user[]",'', :class=>"user_name" %>
    <%= radio_button_tag "is_checked[]", '1',false %><br>

    <%= text_field_tag "user[]",'', :class=>"user_name" %>
    <%= radio_button_tag "is_checked[]", '1',false %><br>

Контроллер

user = params[:user]

is_checked = params[:is_checked]

user.each do|a|

u = User.new

u.name = a

u.save

end

здесь, я хочу знать, каксохраните значение is_checked вместе с именем ..

я получил коллекцию для пользователя и is_checked, но я смог зациклить только одну ..

пожалуйста, подскажите, как создать несколько записей сдва поля

спасибо

1 Ответ

6 голосов
/ 21 марта 2011

вы можете сделать это вместо этого:

Просмотр:

<% 1.upto(2) do |i| %>
  <%= text_field_tag "fields[#{i}][user]",'', :class => "user_name" %>
  <%= radio_button_tag "fields[#{i}][is_checked]", '1', false %><br>
<% end %>

, так что вы получите что-то вроде этого:

"fields" => {
  "1" => {"user" => "value of 1", "is_checked" => "for 1"},
  "2" => {"user" => "value of 2", "is_checked" => "for 2"}
}

тогда вы можетесделать это в контроллере:

params[:fields].each do |i, values| do
  # where i is the i-th set
  # and values are the user inputs

  u = User.create(values)
end

надеюсь, это поможет!=)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...