我的多态关系设置如下:
class Industry < ActiveRecord::Base
attr_accessible :name
has_many :user_industries
end
class UserIndustry < ActiveRecord::Base
attr_accessible :industry_id, :industriable_id, :industriable_type
belongs_to :industry
belongs_to :industriable, polymorphic: true
end
class Applicant < ActiveRecord::Base
has_many :user_industries, as: :industriable
end
class Employer < ActiveRecord::Base
has_many :user_industries, as: :industriable
end
我有搜索功能,例如,我想取得所有拥有某个行业的申请人。 Rails是否提供了一种方便的方法,或者我是否必须自己编写一些方法?
答案 0 :(得分:0)
从你写的评论我假设,你想写这样的join
查询(未经测试):
Applicant.joins(:user_industries).where('user_industries.industry_id' => self.id).pluck('applicants.id')