У меня есть две модели: Study
и StudyType
.Последний имеет только два столбца: id
и name
и хранит тип исследования, такой как Бакалавр , Магистр и так далее.Все значения уже вставлены.Я использовал команду rake db:seed
после добавления соответствующих операторов в /db/seeds.rb
.
StudyType
has_many :studies
, где в качестве Study
belongs_to :study_type
и accepts_nested_attributes_for :study_type
.
Теперь я хочу выберите поле в моей новой форме обучения.Я создал поле выбора (см. Ниже), но когда я отправляю форму, форма вставляет новую запись в таблицу study_types
?!?вместо установки id
study_type
в объекте study
.Вы можете мне помочь?
Вот new
действие studies_controller
@study = Study.new
...
@study.study_type = StudyType.new
Вот частичное исследование:
<%= render :partial => "shared/study_form_fields", :locals => { :study_fields => study_fields } %>
...
<%= study_fields.fields_for :subject_type do |study_type_fields| %>
<%= render :partial => "shared/study_type_form_fields", :locals => { :study_type_fields => study_type_fields } %>
<% end %><!-- End of study_type_fields -->
...
Воттип обучения частичный.
# File: _study_type_form_fields.html.erb
<%= study_type_fields.label :name, "Study type" %>
<%= study_type_fields.collection_select :name, StudyType.all, :id, :name, :prompt => "Please select a study type." %>