我有以下型号
class Business < ActiveRecord::Base
has_one :name_object, as: :nameable
end
class NameObject < ActiveRecord::Base
has_one :user
belongs_to :nameable, polymorphic: true
end
但是,当我尝试使用名称和用户构建业务时,如下所示:
business = Business.new
business.build_name_object
business.name_object.build_user
Rails抛出错误ActiveRecord::UnknownAttributeError in BusinessesController#new unknown attribute: name_object_id
。
我已为nameable_id
表创建了包含nameable_type
和name_objects
列的数据库,但我认为我不需要业务上的name_object_id
外键表也是。我错过了什么?
答案 0 :(得分:2)
看起来像你的NameObject has_one :user
,用户将是belongs_to :name_object
的用户,因此Rails正在寻找name_object_id
作为用户表中的字段并将其抛出错误。只是预感,或许,发布您的用户型号代码。