Я пытаюсь добавить некоторые поля в свою вложенную форму. Я включил драгоценный камень nested_forms
(https://github.com/ryanb/nested_form).rails nested_forms ошибка и логика
Для моих готовых карт он отлично работает, но я не могу добавить новые поля.
Мой контроллер:
def new
@people = Person.all
@vehicles = Vehicle.all
@roles = Role.all
@pratice_people = []
@people.each do |a|
if a.at1 == true
@pratice_people << a
end
end
@practice = Practice.new
@pratice_people.count.times { @practice.uebung_maps.build }
render action: "new"
end
и моя форма:
<% @runs = 0 %>
<%= f.fields_for :uebung_maps do |map| %>
<tr>
<%= map.hidden_field :role_id, :id => "role_id_#{@runs}" %>
<%= map.hidden_field :vehicle_id, :id => "vehicle_id_#{@runs}" %>
<%= map.hidden_field :person_id , :value => @pratice_people[@runs].id %><br/>
<td><%= @pratice_people[@runs].name %></td>
<td><%= map.select :role_id, options_from_collection_for_select(@roles, :id, :name), :include_blank => true %></td>
<td><%= map.select :vehicle_id, options_from_collection_for_select(@vehicles, :id, :name), :include_blank => true %></td>
<td><%= map.text_field :time %></td>
</tr>
<% @runs += 1 %>
<% end %>
<%= f.link_to_add "+" , :uebung_maps %>
Если я пытаюсь получить доступ к странице, я получаю следующий отчет об ошибке
Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
ли я (или как) создать логику для повторного запуска Practice.uebung_maps.build?
, потому что я думал, что это делается в пределах nested_forms
gem ....
'@pratice_people [@runs]' является 'nil' –
ах ладно .. я постараюсь это :) – HappyHacking
хорошо я» Теперь измените форму, задав вопрос: @pratice_people [@runs] .nil? и форма работает сейчас, но если я нажимаю на ссылку, ничего не происходит ... мне нужно добавить еще одну логику здесь? – HappyHacking