dot*_*ree 3 ruby-on-rails rails-models ruby-on-rails-3
我有一些这样的模型:
class Alpha < ActiveRecord::Base
has_many :items
end
class Beta < ActiveRecord::Base
has_many :items
end
class Item < ActiveRecord::Base
belongs_to :alpha
belongs_to :beta
end
Run Code Online (Sandbox Code Playgroud)
但我希望每个数据库记录中的Item模型属于:alpha或a:beta但不是两者.在Rails 3中做任何好方法吗?或者我应该使用AlphaItems和BetaItems对其进行建模?
您可能想要使用多态关联.更多细节 - http://guides.rubyonrails.org/association_basics.html#polymorphic-associations
class Alpha < ActiveRecord::Base
has_many :items, :as => :itemable
end
class Beta < ActiveRecord::Base
has_many :items, :as => :itemable
end
class Item < ActiveRecord::Base
belongs_to :itemable, :polymorphic => true
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1567 次 |
| 最近记录: |