【发布时间】:2010-12-01 02:27:53
【问题描述】:
我有两个模型:用户和状态。州模型包含美国 50 个州中每一个州的记录。
我希望每个用户都有两个属性:一个“家”状态和多个“访问”状态。
我知道我必须建立某种模型关联来实现这一点,但不确定最好的方法是什么。
这是我到目前为止所拥有的,但我知道将 has_many 和 has_one 关联到同一个模型肯定有问题。
#user.rb
class User < ActiveRecord::Base
has_many :visits
has_many :states, :through => :visits
has_one :state
end
#visit.rb
class Visit < ActiveRecord::Base
belongs_to :user
belongs_to :state
end
#state.rb
class State < ActiveRecord::Base
has many :visits
has many :users, :through => :visits
belongs_to :user
end
有什么建议吗?
【问题讨论】:
标签: ruby-on-rails activerecord associations