未定义的方法`每个' for:users:使用render函数传递的变量时抛出的符号

时间:2014-10-17 18:38:32

标签: ruby-on-rails

所以似乎越来越多的人建议在控制器中实际使用实例变量是个坏主意。您应该将带有渲染的变量发送到视图中。

但是当我像这样做时:

def index
        users = User.all
        render 'index', users: users
end

然后我无法在索引视图中使用:users符号并对其进行迭代。 它会抛出一个错误:undefined method每个' for:users:Symbol` for me。

尝试这样做是否是个好主意?我想我会尝试一下,看看它会如何发挥作用。但是现在我甚至无法让它发挥作用......

1 个答案:

答案 0 :(得分:3)

users将是您视图中的变量,而不是符号。

要对其进行迭代,您需要拨打users.each而不是:users.each