Ruby on Rails主动记录

时间:2015-01-05 04:16:57

标签: ruby-on-rails ruby ruby-on-rails-4 activerecord

我一直在尝试从另一张桌子获取数据并且它不起作用。 我有三张桌子:空缺恢复连接


vacancy.rb

  has_many :connections
  has_many :resumes, through: :connections

resume.rb

  has_many :connections
  has_many :vacancies, through: :connections

connection.rb

  belongs_to :vacancy
  belongs_to :resume

简历职位空缺表格 ID,名称

连接表格包含 ID resume_id 空缺_id

我的代码 - @candidates = Resume.joins(:connections).where(connections: { vacancy_id: current_user.vacancies })

它显示了Resume表中的数据,但我无法使用Vacancies表获取数据。我怎样才能输出空缺名称?我在视野中尝试了resume.connections.vacancy.name但是没有效果 -

undefined method `vacancy' for #<Connection::ActiveRecord_Associations_CollectionProxy:0xb43ac9d8>

1 个答案:

答案 0 :(得分:0)

啊 - 是的,那只是不起作用......你在连接的上调用“空缺”......(数组没有一个名为“空缺”的方法但是该数组的每个成员都将)。那么:你想在each连接上打电话给“空缺”吗?或者您想从{em>集集合中collect vacancy_names = resume.connections.map{|con| con.vacancy.name } 每个空缺的名称?

尝试这样的事情:

resume.connections.each do |con| 
   puts con.vacancy.name
end

或者:

{{1}}