3

我在这里代码的第二行出错,我在 Estate 表中有一个 user_id 列。我在这里做错了什么?

myestate = Estate.where(:Mgmt => current_user.Company)
@managements = User.where(:id => myestate.user_id)
4

1 回答 1

6

where正在返回一个ActiveRecord::Relation对象。因为where(:mgmt => current_user.company)可能返回 0、1 或许多记录,所以您必须告诉查询您想要从中得到什么。

尝试:

myestate = Estate.where(:Mgmt => current_user.Company).first
@managements = User.where(:id => myestate.user_id)

强烈建议熟悉 AREL 及其工作原理。您可以在github 页面Active Record Query Guide上找到重要信息

于 2013-06-19T16:58:08.403 回答