У меня есть объект Event с belongs_to
ассоциацией location
:Обновление объекта belongs_to ассоциации создает новые объекты
class Event < ActiveRecord::Base
belongs_to :location
accepts_nested_attributes_for :location
end
В моей форме событий я использую вложенные атрибуты для отображения формы местоположения. Соответствующий бит формы местоположения от events/_form.html.erb
:
<%= f.fields_for :location do |lf| %>
<%= f.label 'Location', :class => 'control-label' %>
<%= lf.text_field :name %>
<%= lf.text_field :address %>
<% end %>
создать новое событие следующим образом:
def new
@event = Event.new
@event.build_location
end
Однако, когда я изменить местоположение этой вновь созданной записи, запись о местоположении не получает отредактированный , вместо этого новая запись местоположения будет вставлена в базу данных.
Мой вопрос: как я могу убедиться, что после редактирования местоположения (из родительской формы события) он будет обновлять атрибуты, принадлежащие объекту местоположения, вместо создания нового объекта Location.
быстро расположение вопроса имеет много событий, вставить вид code.Do вы хотите место должно быть созданы на каждом событии или о создании места проведения мероприятия должно быть выбрано из существующего – Amar
пользователя может выбрать местоположения из списка. Если место еще не установлено, оно должно быть создано. Если он находится в списке, следует сохранить только ассоциацию. –
В вашем классе 'Местоположение' есть' has_many: events' или 'has_one: event' в нем? – rudolph9