我有 3 个模型:Runners
、Jobs
和Surveys
。Runner
模特has_many
工作。Job
模型has_one
Survey
。_ 我正在尝试获取跑步者的所有调查(与属于特定跑步者的工作相关的所有调查)。
这是我的模型
跑步者.rb
class Runner < ActiveRecord::Base
has_many :jobs
end
工作.rb
class Job < ActiveRecord::Base
belongs_to :runner
has_one :survey
end
调查.rb
class Survey < ActiveRecord::Base
attr_accessible :service, :speed, :suggestion, :job_id
belongs_to :job
end
为了获得跑步者的所有工作,我打开了 rails 控制台并尝试运行这样的命令。
runner = Runner.first
joined_table = Job.joins(:survey)
joined_table.where(runner_id: runner.id)
看起来它输出了正确的 SQL,但是每当我运行joined_table 时,它所做的只是 return back Job.all
。它不返回作业和调查的连接表。我还尝试了以下
joined_table = Job.all(:include => :survey)
joined_table = Job.all(:select => '*', :joins => :survey)
joined_table = Job.all(:joins => :assignment, :include => :survey)
这三个都不起作用