我學習Ruby on Rails,我想加入兩個模型(表)。 User.rb(用戶表)ActiveRecord :: StatementInvalid在Hr#internal_employee_page
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 ::錯誤:'on子句'中的未知列'offer_letters.user_id':SELECT offer_letters
。* FROM offer_letters
INNER JOIN users
ON users
。 id
= 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>
錯誤在這行:<%@ employees.each做| EMP |%> 那麼告訴我,我錯了
當我們使用連接時,我們必須用它的屬性指定表名(應該是複數形式)。所以在你的where子句中,請指定id與其各自的表,如前所示:OfferLetter.joins(:user).where(users.id =>:candidate_id) – Navin