Я полагаю, у вас есть следующие ассоциации:
Оценка:
class Evaluation < ActiveRecord:Base
has_many :grades
accepts_nested_attributes_for :grades
end
Слушатель:
class Student < ActiveRecord::Base
has_many :grades
end
Оценка:
class Grade < ActiveRecord::Base
belongs_to :student
blongs_to :evaluation
end
Что касается вашего комментария, я думаю, вы хотите использовать камень nested_form_for , сделанный Райаном Бейтсом. Это помогает вам добавлять / удалять динамически вложенные атрибуты в вашей форме, очень эффективно. Вы можете использовать это так:
<% nested_form_for @evaluation do |f| %>
<% f.fields_for :grades do |gf| %>
<%= gf.label 'Username of the student' %>
<%= gf.collection_select(:student, :student_id, Student.All, :id, :username) %> <br/>
<%= gf.label :value %>
<%= gf.text_field :value %> <br/>
<%= gf.link_to_remove 'delete' %> <br/>
<% end %>
<%= f.link_to_add 'Add grade', :grades %> <br/>
<%= f.submit %>
<% end %>
Скажите, работает ли он / соответствует вашим потребностям. Я много раз использовал этот драгоценный камень в предыдущие дни.