我有一个应用程序,其中配置文件适用于作业。乔布斯和个人资料之间有一个很好的关系,所有关系都保存在名为"关系"的桌子上。
让我们说个人资料访问一份工作。如何检查该个人资料(current_profile)与他正在查看的工作之间是否存在关系?
模特协会:
class Profile < ActiveRecord::Base
belongs_to :user
has_many :relationships , dependent: :destroy
has_many :jobs, through: :relationships
end
class Job < ActiveRecord::Base
belongs_to :employer
has_many :relationships, dependent: :destroy
has_many :profiles, through: :relationships
end
class Relationship < ActiveRecord::Base
belongs_to :profile
belongs_to :job
end
答案 0 :(得分:1)
检查关系中是否存在current_profile的id非常简单 例如 如果Relationship.all.include? current_profile.id
答案 1 :(得分:1)
@kunashir给出的答案奏效了。我只需检查:
current_user.profile.jobs.where(id: current_job_id).any?