Rails 6:如何通过部分捕获(&块)传递变量

问题描述 投票:0回答:0

目前,我有

帮手:

def collection_loop(collection, index, &block)

    if collection[index]
      render(
        partial: 'shared/collection_loop',
        locals: { collection: collection, i: index, block: block }
        )
    end

end

部分:

<section class="collection_<%= collection[i]&.id.present? ? "#{collection[i].id}" : "none" %>">

  <%= capture(&block) %>

</section>

以及我使用助手的视图 :

<%= collection_loop(@collections, 1) do %>
  
  <h1><%= @collections[1]&.title %></h1>
  
<% end %>

在最后一个视图中,我希望能够调用

<h1><%= collection&.title %></h1>
而不是再次显式调用
@collections[1]
.

我没有找到通过我的

collection
传递变量
capture(&block)

的方法

是否可以在最后一级视图中检索此处的集合?

ruby-on-rails erb
© www.soinside.com 2019 - 2024. All rights reserved.