我一直在尝试从另一张桌子获取数据并且它不起作用。 我有三张桌子:空缺,恢复,连接。
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>
答案 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}}