获取炼金术CMS中"element_view_for"助手中的元素索引



我想在带有嵌套图像的炼金术元素中使用bootstrap 5旋转木马。为了做到这一点,我需要获得迭代的排序顺序或索引,因为旋转木马需要一个";活动的";标记。

<%= element_view_for(image_slide, tag: false) do |el| %>
<div class="carousel-item active">
<%= el.render :image, {}, class: "d-block w-100 #{"active" if index == 0}" %>
</div>
<% end %>

我怎样才能做到这一点?

在集合渲染器渲染的每个Rails部分中,都有一个名为<the-partial-name>_counter的本地变量可用。

发件人https://guides.rubyonrails.org/layouts_and_rendering.html#local-变量

Rails还在名为按集合,以分部的标题命名,后跟_计数器。例如,当呈现集合@products时,分部_product.html.erb可以访问变量product_counter它索引在封闭视图。请注意,当分部名称通过使用as:选项进行了更改。例如,计数器变量上面的代码将是item_counter。

只需确保父元素(我假设是imager_slider(使用集合部分渲染器。

[...]
<%= render image_slider.nested_elements.published %>
[...]

然后你可以使用

<%= element_view_for(image_slide, tag: false) do |el| %>
<div class="carousel-item active">
<%= el.render :image, {}, class: "d-block w-100 #{"active" if image_slide_counter == 1}" %>
</div>
<% end %>

最新更新