Ruby On Rails - &ndquo;未定义的方法`id'为4:Fixnum”

我最近决定在Ruby On Rails应用程序中列出所有
users
- 因为我无法弄清楚如何以其他方式列出它们,我决定使用partials。 我的管理页面上有以下内容(只是连接到自己的管理控制器):
<%= render :partial => User.find(:all) %>
然后我在我的用户视图文件夹中有一个名为
_user.html.erb
的文件。这包含以下内容:
<ul>
<% div_for @user.object_id do %>
    <li><%= link_to user.username, user.username %></li>
<% end %>
</ul>
当应用程序运行并进入管理页面时,我收到以下错误:   未定义的方法`id'为4:Fixnum 它说这是因为这一行(在部分文件中):
<% div_for @user.object_id do %>
我不确定为什么会发生这种情况(并且已经用Google搜索了几个小时才能找到结果并且只找到对我不起作用的解决方案)。我认为这与我使用
@user
实例变量有关,但我不完全确定。     
已邀请:
你得到那个错误,因为
div_for
期望一个活动的记录对象作为一个参数,它调用
id
方法。你传入一个fixnum(
@user.object_id
的结果),它不是一个活动的记录对象,也没有一个
id
方法。 所以传入
@user
而不是
@user.object_id
它会起作用。 你也应该使用
user
而不是
@user
,rails 3不再为partials设置实例变量。     
丢失.object_id部分。我真的不敢想你为什么使用object_id!你有充分的理由这样做吗?无论如何div_for包围一个对象的div,所以留下.object_id部分!     
而不是对象,你正在使用它当时正在使用它的列或签证varsa你会遇到这种错误。 例 我使用id而不是user = User.first对象。     
试试这个,它对我有用。
@item.unit_of_measure.name 
代替
@item.unit_of_measure_id.name
    

要回复问题请先登录注册