设计允许不同的模型具有相同和多个类别?

时间:2012-07-26 02:14:42

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

假设我有3种名为Dog,Cat和Mouse的模型。我希望这三个人能够拥有相同,不同和多个类别。我还想为类别添加逻辑并像其他模型一样定期创建。所以它可能就像:

Dog.categories = brown, spots, heavy fur, weak limbs
Cat.categories = brown, red, heavy fur
Mouse.categories = brown, small

Category 
   has_and_belongs_to_many :dogs
   has_and_belongs_to_many :cats
   has_and_belongs_to_many :mouses
   def watch_health
     if self.name == "weak limbs"
     do stuff here
   end
end

现在说。模型和表格设计如何。我不完全理解多态关联如何在这个设置中起作用,所以看起来所有3的HATBM都是正确的方法。你怎么看?这是对的吗?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

好的,所以我最终建立了has_many :through关联,您可以从herehere获得更多帮助。