4

我在 ruby​​.railstutorial.org 上关注 mhartl 的教程,但我遇到了 users_controller 的索引功能的问题。在控制台中,我可以输入以下代码:

@users = User.all

它可以正确访问 SQL 数据库并显示所有用户的列表。但是,当我尝试加载页面时,我会收到各种错误,具体取决于我在索引文件中使用列表的方式,但所有错误都涉及列表为零。例如,如果我的索引页面包含以下内容:

<% @users.each do |user| %>
    <li>
        <%= link_to user.name, user %>
    </li>
<% end %>

服务器吐槽:

undefined method `each' for nil:NilClass

像这样的东西render @users给了我错误'nil' is not an ActiveModel-compatible object that returns a valid partial path.

如果它在控制台中工作,我真的很困惑为什么我会收到这个错误。如果您需要我提供的其他代码,请告诉我。

谢谢你的帮助!

4

1 回答 1

7

所有这些错误消息都表明 @user 在您的视图中为零。假设视图是views/users/index.html.erb,你有没有像这样在你的users_controller 索引操作中初始化@users?

def index
  @users = User.all
end
于 2012-07-28T14:23:12.113 回答