【发布时间】:2016-08-30 14:04:03
【问题描述】:
我是 ruby on rails 的学习者,我想加入两个模型(表)。 User.rb(用户表)
class User < ActiveRecord::Base has_many :offer_letters end
OfferLetter.rb(offer_letter 表)
class OfferLetter < ActiveRecord::Base belongs_to :user end
HrController(hr_controller.rb)
class HrController < ApplicationController
def internal_employee_page
@employees = OfferLetter.joins(:user).where(:id => :candidate_id)
end
结束
运行我的代码时出现错误“Mysql2::Error: Unknown column 'offer_letters.user_id' in 'on clause': SELECT offer_letters.* FROM offer_letters INNER JOIN users ON users.@ 987654328@ = offer_letters.user_id 其中offer_letters.id = NULL"
<div id="job_details">
<% @employees.each do |emp| %>
<%= render partial: "hr/employee_details", locals: {emp: emp} %>
<% end %>
</div>
这行错误: 所以告诉我我哪里错了
【问题讨论】:
-
当我们使用连接时,我们必须指定表名(应该是复数)及其属性。因此,在您的 where 子句中,请使用其各自的表指定 id,例如:OfferLetter.joins(:user).where(users.id => :candidate_id)
标签: mysql ruby-on-rails ruby-on-rails-3 activerecord