我想在有嵌套图像的炼金术元素中使用引导5旋转木马。为了做到这一点,我需要获得迭代的sortorder或索引,因为carousel期望第一个元素上有一个“活动”标记。
<%= 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 %>我怎样才能做到这一点?
发布于 2022-09-09 06:29:07
在集合呈现器呈现的每个Rails部分中,都有一个名为<the-partial-name>_counter可用的局部变量。
来自https://guides.rubyonrails.org/layouts_and_rendering.html#local-variables
Rails还在集合调用的部分中提供了一个计数器变量,该变量以_counter后面的部分标题命名。例如,在呈现集合@产品时,部分_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 %>https://stackoverflow.com/questions/73625673
复制相似问题