Rails 4 - 呈现具有与变量不同的部分名称的集合

时间:2014-04-15 05:38:07

标签: ruby-on-rails ruby-on-rails-4

我的项目中有以下部分posts/post_preview

.post
  %h2= link_to(post.title, post)
  .post-body= simple_format(post.body)
  %ul
    - post.tags.each do |tag|
      %li= tag

我想为集合名称@posts呈现此部分,如下所示:

render partial: 'post_preview', collection: @posts

但是,render默认情况下将集合的每个成员作为以partial命名的局部变量传递。有什么方法可以改变这个,所以@posts的每个成员都被传递给名为post的变量中的部分?

1 个答案:

答案 0 :(得分:10)

http://guides.rubyonrails.org/layouts_and_rendering.html 选中此项以更改名称 假设您有产品并希望用作项目,那就像

一样
<%= render partial: "product", collection: @products, as: :item %>

我建议你也检查一下。 http://api.rubyonrails.org/classes/ActionView/PartialRenderer.html