У меня есть простое приложение с двумя моделями Product
и Subject
.Product
ссылается на один Subject
и имеет поле subject_id
в своей таблице базы данных.
Впоследствии Product.rb
содержит:
has_one :subject
Subject
, однако делаетне ссылается на Product
, так как в этом нет необходимости.
Когда я пытаюсь создать новый Product
, у меня возникают проблемы с назначением Subject
для Product
.Я получаю сообщение об ошибке:
can't write unknown attribute `product_id`
в отмеченной строке ProductsController#create
ниже (где product_params
- список параметров формы, а params[:product][:subject_id]
- предоставленный пользователем идентификатор темы):
@product = Product.new(product_params)
@subject = Subject.find(params[:product][:subject_id])
--> @product.subject = @subject
Я полагаю, что это жалоба, потому что в таблице subjects
нет поля product_id
, но оно должно быть необходимо, поскольку Subject
не ссылается на Product
.
* 1033.* Возможно ли создать одностороннюю ссылку, подобную этой, или необходимо всегда иметь ссылку «один к одному» или «один ко многим»?