给定以下模型:
User: id
UserPosition: user_id, job_title_id
JobTitle: id | title
有了Rails 5,我该怎么做:
current_user.job_title
我需要查找
UserPosition
然后JobTitle
才能获得title
?一个查询就可以了吗?
最佳答案
您可以通过这样的关联来执行此操作:
class User < ApplicationRecord
has_many :user_positions
has_many :job_titles, through: :user_positions
end
class UserPositions < ApplicationRecord
belongs_to :user
belongs_to :job_title
end
class JobTitle < ApplicationRecord
has_many :user_positions
has_many :users, through: :user_positions
end
这里是Rails中多对多关系的the documentation。