加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby On Rails – “未定义的方法`id’为4:Fi

发布时间:2020-12-17 03:34:24 所属栏目:百科 来源:网络整理
导读:我最近决定在 Ruby On Rails应用程序中列出所有用户 – 因为我无法弄清楚如何以其他方式列出它们,我决定使用partials. 我的管理页面上有以下内容(只是连接到自己的管理控制器): %= render :partial = User.find(:all) % 然后我在我的用户视图文件夹中有一个
我最近决定在 Ruby On Rails应用程序中列出所有用户 – 因为我无法弄清楚如何以其他方式列出它们,我决定使用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>

当应用程序运行并进入管理页面时,我收到以下错误:

undefined method `id’ for 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设置实例变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读