如何从activerecord对象访问列值?

时间:2011-06-20 11:58:18

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

我有一个ActiveRecord对象:

@user = User.find_by_id(1)

我想从这个对象访问用户的名字;我该怎么做?

@user.name  # Gives Error = No mathod 'name'

2 个答案:

答案 0 :(得分:1)

@user = User.find(1)

然后

@user.name

find_by_id返回多条记录,因此您必须执行

@user.first.name 

如果您使用find_by_id

答案 1 :(得分:1)

如果您使用User.find代替User.find_by_id,然后对其执行.name,则应收到输出。

@user = User.find(1)
@user.name

但是从没有看到你的整个数据库,你可能只是得到一个no方法,因为该字段不存在。在这种情况下,您应该相应地更改方法名称:

@user.name # to ->
@user.first_name # or whatever the field is actually called