【问题标题】:Generate random from rails model从 Rails 模型生成随机数
【发布时间】:2011-11-27 03:54:49
【问题描述】:

我目前正在为使用 Ruby on Rails 的运动卡网站开发在线商店。在主页的侧边栏中,我想从我的产品模型(我已经通过脚手架创建)随机生成卡片。我该怎么做呢?任何帮助将不胜感激!

【问题讨论】:

  • 如果你想得到好的答案,你必须比这更具体。您要选择随机产品吗?
  • 是的。对不起。我的产品模型是由运动卡编译的,因为它是一个运动卡网站,所以是的,我希望生成随机产品。

标签: ruby-on-rails


【解决方案1】:

使用以下内容作为起点,修改limit 以匹配您要显示的卡片数量。

Get two random elements from a RoR model

【讨论】:

    【解决方案2】:

    您的问题非常笼统,所以我将在这里做几个假设。 (1) 我假设您可以将大部分产品放入内存中。 (2) 随机产品只需要每隔几个小时左右更新一次。

    首先编写一个从模型中随机选择一些产品的方法:(另请阅读How do I pick randomly from an array? 了解如何获取随机项目):

    products = Products.find(:all)
    (1..5).each do |n|
      selectedProduct = products[rand(myarray.length)]
      selectedProduct.shouldAppearOnHomePage = true
      selectedProduct.save
    end
    

    您可以时不时地运行此方法(可能使用 /script/rails exec)。它将在新的随机产品上设置 shouldAppearOnHomePage。

    那么剩下要做的就是查询 shouldAppearOnHomePage 为 true 的数据库并显示这些产品。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 2023-01-03
      相关资源
      最近更新 更多