我是 Rails 新手,需要您的帮助来解决应该是一个简单的问题。
当我运行此代码时:
@search = User.search(params[:search])
@foundusers = @search.all.paginate :page => params[:page], :per_page => 20
@user = @search.where("users.id = ?", params[:id])
if @user.nil?
@user = @foundusers.first
end
unless @user.company_id.nil?
@company = Company.find(@user.company_id)
end
我收到以下错误声明:未定义的方法 `company_id' for #
我不明白,因为数据库上的查询是正确的 (SELECT users
.* FROM users
LEFT OUTER JOIN companies
ON companies
. id
= users
. company_id
WHERE ((( users
. firstname
LIKE '%s%' OR users
. lastname
LIKE '%s%') OR companies
. name
LIKE '%s% ')) AND (users.id = '11'))
并且该用户的 company_id 不为空。
当我输入 puts @user.name 时,它没有给我用户名,而是给了我“用户”
非常感谢您的帮助。