路由不起作用,尝试访问rails 4控制器中的方法时获取nil

时间:2013-10-12 02:53:25

标签: ruby-on-rails

我的控制器中有一个方法应该返回db中的每个用户。

class UsersController < ApplicationController
 # before_action :set_user, only: [:show]
  def index
       @users = User.all
  end

如果我在我的终端检查User.all(rails c)我得到了一堆结果,但如果我从我的视图中调用它

 <div>
    <% @users.each do |user| %>
      <%= user %>
    <% end %>
 </div>

我得到undefined method每个'为nil:NilClass`

我在我的路线中包含了用户资源

PROJECT::Application.routes.draw do
  resources :users

任何想法我错过了什么?

1 个答案:

答案 0 :(得分:2)

问题不在于路线。你没有用户。所以它为nil类

表示每个未定义的方法
@users.each

@users是空的。你还没有做任何会使用你的路线去控制器做一些动作的事情。

在控制器中使用User.all.to_a