具体来说,在索引页面上,您可能有
@users.each do |user|
render 'layouts/shortprofile'
end
其中,简介包含来自用户和其他相关模型的数据。
部分尝试从用户模型中的索引方法读取,但该方法中没有为单个用户定义变量。感觉就像|用户| block var应该读入partial,但似乎没有。
例如,在部分我可能希望有类似的东西 -
user.blogs[1..3].each do |blog|
blog.title
blog.created_at
.....
...但我不知道如何将用户值转换为部分。
我希望将它保留为部分cos,它会在几种情况下显示,我想要干。
答案 0 :(得分:3)
使用局部变量将其传递给partial,并确保明确指定partial:
e.g /
@users.each do |user|
render partial: 'layouts/shortprofile', locals: { user: user }
end
此处有更多信息:http://guides.rubyonrails.org/layouts_and_rendering.html#passing-local-variables
答案 1 :(得分:0)
您可以将部分更改为“_user.html.erb”并将其移至带有索引视图的“views / users”文件夹,并将@users.each
块替换为:
<%= render @users %>
...应该成功地将每个用户对象传递给部分中的user
变量。