避免在Rails中从给定模型的子类创建重复对象

时间:2012-01-11 01:10:37

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

我的模型group.rb包含子类organization.rbcompany.rb等。我想知道是否有办法创建名为"的组织。 Rails初学者协会"没有创建一个名为" Rails Beginners Society&#34 ;?的公司现在看起来好像我做了Organization.find_or_create_by_name(:name => @profile.organization)这样的事情我不仅创建了一个组织,而且还创建了一个公司和group.rb的所有其他子类,我的控制器中提供了我的名字。

非常感谢任何想法/指导!

我的模特看起来像这样:

class Group < ActiveRecord::Base
  has_and_belongs_to_many :users
end

class Organization < Group
end

等等...

1 个答案:

答案 0 :(得分:1)

听起来你要做的就是STI(单表继承)。 Rails确实支持这一点。

class Group < ActiveRecord::Base
end

class Organization < Group
end

等...

如果type表中有一列groups,Rails应该为您处理所有事情。