给定以下模型:

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

09-25 15:58