gpt4 book ai didi

ruby-on-rails - 我如何旋转一个集合,导致布局改变动态显示的顺序?

转载 作者:行者123 更新时间:2023-12-04 05:50:33 25 4
gpt4 key购买 nike

标题很别扭,但这就是我想做的。

假设我有 4 张图片。每张图片都有两种文件大小(770 x 350 && 370 X 110)-有点similar to this .

我想做的是循环遍历 @products 的集合(每个 product 都有一个具有多种尺寸的图像),这样 770 image 在每次页面加载时都不同。

即我想给所有产品 1/4 的机会出现在我 View 的 770 插槽中 - 而无需我手动更改它(比如给一个 product 一个特殊的“特色”标志)。

所以我有 4 个产品的集合,每个产品有 2 个不同尺寸的 2 张图片。我希望页面上的图像布局随着每次页面重新加载而改变 - 不像轮播。

假设我要使用的两个 image_tag 语句是:

<%= image_tag product.image_url(:main_banner).to_s %>

<%= image_tag product.image_url(:banner_thumb).to_s %>

其中 product 是循环遍历集合 @products 的迭代器实例。

我很乐意尽可能做到 DRY - 我尝试用 1 个部分来完成它,但是那变得越来越困惑并且无法像我希望的那样工作。

如果我应该添加任何说明,请告诉我。

为了它的值(value),这就是我正在尝试的:

主页#index

<%= render :partial => 'home/featured', :collection => @products, :as => :product %>            

主页#_featured

<div class="span8 featured">
<%= image_tag product.image_url(:main_banner).to_s %>
</div>
<div class="span4" >
<div class="side-img"><%= image_tag product.image_url(:banner_thumb).to_s %></div>
</div>

最佳答案

ActiveRecord 结果是一个数组,所以可以使用sample等数组方法或 shuffle .

您可以将局部变量传递给部分变量,例如从您的产品集合中随机选择的产品:

<%= render [...] locals => { :featured_product => @products.sample } %>    

主页#_featured

<div class="span8 featured">
<%= image_tag featured_product.image_url(:main_banner).to_s %>
</div>

或者您可以随机循环浏览集合:

<%= render [...] :collection => @products.shuffle [...] %>

关于ruby-on-rails - 我如何旋转一个集合,导致布局改变动态显示的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13394690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com