【发布时间】:2018-01-30 07:52:38
【问题描述】:
我需要一些帮助来为我的新 Rails 应用程序创建关联。
我有两个型号User 和Profession。一个用户可能有很多职业,职业可能属于很多用户。
我可以在两个模型中进行HABTM 关联。
用户has_and_belongs_to_many :professions
职业has_and_belongs_to_many :users
我希望职业表应该只包含唯一的职业名称并将它们分配给许多用户。但是,如果我尝试为像下面这样的用户创建职业
user1.professions.create(name: "Dev")
user2.professions.create(name: "Dev")
两个职业“开发”都会保存在职业表中。
如何在Profession模型中保存唯一的职业名称并分配给多个用户?
【问题讨论】:
-
user1.professions << Profession.find_or_create_by(name: 'Dev')之类的怎么样? -
@MarekLipka 谢谢。这样就行了。
标签: ruby-on-rails ruby associations ruby-on-rails-5 model-associations