【发布时间】:2013-12-31 17:03:07
【问题描述】:
我希望我的用户拥有很多技能。我确实有一个用户和技能数据库表。
我在 user.rb 中使用了 has_many_and_belongs_to 关联
has_many :skills
我不确定它是否正确。在 skill.rb
中 has_and_belongs_to_many :users
我也创建了这样的迁移:
def change
create_table :user_skills do |t|
t.belongs_to :users
t.belongs_to :skills
end
这对吗?
如果这是正确的,我该如何为我的用户添加新技能?一般的做法是什么?
我想到的,
在更新操作的用户控制器中,我将更新用户的技能并更新 user_skills 表。 这是怎么做到的?
另外,我如何为特定用户遍历我的 user_skills 表? (在视图中)
任何指导、资源、技巧都会对我有很大帮助,因为这是我第一次在 Rails 中做这样的事情。
谢谢
【问题讨论】:
-
此答案展示了如何在 ActiveRecord 中正确创建 HABTM 关系:stackoverflow.com/a/5120734/141774
-
问题:您希望用户能够与其他用户拥有相同的技能吗?这样我就知道 habtm 是否是您需要的关联。
标签: ruby-on-rails ruby-on-rails-4