我打电话:
render @users, :layout => "homepage"
因为我想将用户的默认部分 (views/_user.html.erb) 包装为主页 (views/users/_homepage.html.erb) 的自定义布局。
但是,当我这样做时,我在 user.name 方法上得到了 NoMethodError。
由于某种原因,用户变量似乎没有在用户局部中正确初始化。
经过一些测试,主页部分甚至没有被调用,它直接转到用户部分....
最佳答案
这不是我想要的解决方案,我相信实际上可能有一种方法可以只调用渲染来完成这项工作,但这是给了我正确输出的原因:
@users.each do |user|
render :partial => "users/user",
:layout => "users/homepage",
:locals => { :user => user }
end
还是 :layout 选项只在呈现单个资源而不是集合时才起作用?
关于ruby-on-rails - 如何对集合使用部分布局? rails ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5131461/