#ruby-on-rails #activerecord
#ruby-on-rails #activerecord
Вопрос:
В моем user.rb
файле после создания пользователя я создаю профиль для пользователя с помощью следующего вспомогательного метода:
profile = user.profile.build(profile_params)
profile.save
И после этого я хочу создать дочернюю запись позиции профиля, но, похоже, методы сборки не работают для дочерних записей. Вот мой код:
position = profile.build_position(position_params)
position.save
Я получаю эту ошибку:
неопределенный метод `build_position’ для #
Что я делаю не так? Я трижды проверил все свои ассоциации. Они настроены правильно. User has_one Profile
, и Profile belongs_to User
. Profile has_many Positions
, и Position belongs_to Profile
.
Пользователь> Профиль> Позиции
Ответ №1:
Для has_many
объединения используйте association.build
пример.
position = profile.positions.build(position_params)