我有一个ActiveRecord对象:
@user = User.find_by_id(1)
我想从这个对象访问用户的名字;我该怎么做?
@user.name # Gives Error = No mathod 'name'
答案 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