除列列字段外的ActiveRecord变量

时间:2010-10-17 12:09:08

标签: ruby-on-rails activerecord ruby-on-rails-3

我有一个带user_id字段的表格。在find中,我创建了一个连接 在用户表上将用户名检索为:

@question = Question.find(params[:id], :select=>"questions.*, 
users.username as username",:joins=>" inner join users on users.id = 
questions.user_id");

我在Question类中创建了一个名称实例变量 username。但我无法访问数据。我想以其身份访问它 question.username。任何人都可以帮助我,怎么做?

此外,我没有使用关联来获取完整的用户字段,因为不需要。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

如前所述,当您使用“users.username作为用户名”时,Rails会创建一个应返回信息的“用户名”方法。如果你创建了另一个用户名实例变量,那么当你输入“question.username”时,Ruby将无法确定使用哪一个,并且在使用实例变量(没有值)时会出错。< / p>

尝试删除实例变量声明,它应该可以工作:)