我正在尝试制作一个包含同一类的两个不同“has_one”属性的rails模型。我觉得有一种更简单的方法可以做到这一点,但我现在想不出。
所以,假设我想在 Rails 中创建一个婚礼模型
class Wedding < ActiveRecord::Base
has_one :groom, :class_name => 'Person'
has_one :bride, :class_name => 'Person'
end
class Person < ActiveRecord::Base
attr_accessible :wedding_id
belongs_to :wedding
end
我的目标是从婚礼对象访问新郎对象。(可以打电话@wedding.groom.name
或其他什么)目前婚礼模型无法知道哪个“人”是新娘,哪个是新郎。
我应该使用单表继承吗?还是我应该使用外键?
有没有更好的方法来思考整个问题?