У меня возникли проблемы передачи параметры Мое приложение, которое настроено так:Передача параметры для вложенных отношений
Fact belongs_to Source
Source has_many Facts
Источник вложен под пользователем в маршрутах
Я использую факты формирование для создания Источник данных. Таким образом, у меня есть методы получения и установки в Фактов модели, как это:
def source_name
source.try(:name)
end
def source_name=(name)
self.source = source.find_or_create_by_name(name) if name.present?
end
Это работает прекрасно, но это не установка user_id для атрибута родительского пользователя. В результате создаются источники, но они не связаны с пользователем.
У меня есть скрытое поле с user_id в форме, но user_id все еще установлен. Каков самый простой способ передать и сохранить user_id, чтобы установить вложенные отношения?
Вот метод создания контроллера Источник:
def create
@user = User.find(params[:user_id])
@source = @user.source.build(params[:source])
...
end
Добавить свое действие вашего контроллера в свой вопрос – Uchenna
Не уверен, правильно ли я понимаю, но разве вы не должны или не могли бы установить источник через пользовательскую модель? Как user.source = xxx – three
У меня есть мультимодельная форма под моделью Facts. Я попытался установить Источники из формы с регулярными вводами и используя поля_for. Кажется, я не могу заставить его сохранять user_id в любом случае. Надеюсь, это имеет смысл. – Scott