从数据库中导出用户列表

时间:2012-07-28 13:54:03

标签: ruby-on-rails

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

@users = User.all

并正确访问SQL数据库并显示所有用户的列表。但是,当我尝试加载页面时,我会得到各种错误,具体取决于我如何使用索引文件中的列表,但所有涉及列表的都是nil。例如,如果我的索引页面包含:

<% @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.

的错误

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

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

def index
  @users = User.all
end