我希望有一个 has_one 关系,但在模型上具有has_one
属性的引用ID列。
我的项目中有一个Guest
模型,该模型与User
具有一对一的关系。请不要告诉我使用角色,Guest
类具有我需要的更多功能。
所以我需要的是:
class Guest < ActiveRecord::Base
has_one :user, :dependent => :delete
我想在user_id
模型中使用Guest
- guest_id
模型中User
没有任何意义,因为其他用户不是来宾。
答案 0 :(得分:2)
我认为thaha的答案看起来很棒。如果您想避免向User添加列,可以撤消他提到的关联:
class User < ActiveRecord::Base
has_one :guest, :dependent => :destroy
class Guest < ActiveRecord::Base
belongs_to :user
另见2.1节:http://guides.rubyonrails.org/association_basics.html
答案 1 :(得分:1)
我们可以通过两种方式实现一对一关联,试试这个
class User < ActiveRecord::Base
belongs_to :guest, :dependent => :destroy
class Guest < ActiveRecord::Base
has_one :user