Rails:检查Profile是否申请了工作

时间:2016-05-09 05:39:55

标签: ruby-on-rails

我有一个应用程序,其中配置文件适用于作业。乔布斯和个人资料之间有一个很好的关系,所有关系都保存在名为"关系"的桌子上。

让我们说个人资料访问一份工作。如何检查该个人资料(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

2 个答案:

答案 0 :(得分:1)

检查关系中是否存在current_profile的id非常简单 例如 如果Relationship.all.include? current_profile.id

答案 1 :(得分:1)

@kunashir给出的答案奏效了。我只需检查:

current_user.profile.jobs.where(id: current_job_id).any?