所以似乎越来越多的人建议在控制器中实际使用实例变量是个坏主意。您应该将带有渲染的变量发送到视图中。
但是当我像这样做时:
def index
users = User.all
render 'index', users: users
end
然后我无法在索引视图中使用:users
符号并对其进行迭代。
它会抛出一个错误:undefined method
每个' for:users:Symbol` for me。
尝试这样做是否是个好主意?我想我会尝试一下,看看它会如何发挥作用。但是现在我甚至无法让它发挥作用......
答案 0 :(得分:3)
users
将是您视图中的变量,而不是符号。
要对其进行迭代,您需要拨打users.each
而不是:users.each
。