Следующая система предназначена для управления контактами.
Каждый контакт принадлежит организации, и каждая организация имеет много мест. Контакт также связан с одним местоположением из головной организации.
Модель организации выглядит следующим образом
has_many :contacts
has_many :locations
accepts_nested_attributes_for :locations, :reject_if => lambda { |a| a["name"].blank? }
Я хочу, чтобы он принимал вложенные атрибуты для местоположений, потому что, когда пользователь добавляет организацию, он также может добавить местоположение для нее на лету.
Модель контакта выглядит следующим образом
has_one :location
belongs_to :organisation
accepts_nested_attributes_for :organisation
Та же история, когда добавляется контакт, я хочу, чтобы пользователь мог добавлять организацию на лету, но организации необходимо иметь местоположение, поэтому в представлении существует второй уровень вложенности, чтобы также создать местоположение для организации.
Он работает нормально, он добавляет контакт, он добавляет организацию и местоположение, он создает связь между местоположением и организацией, но происходит то, что у меня есть поле "location_id" в контакте, и я хочу иметь в этом идентификатор местоположения, добавленного для организации на лету. Кто-нибудь знает чистый способ сделать это через модель, или мне нужно обойти это с некоторыми изменениями в контроллерах?