当前位置:  开发笔记 > 后端 > 正文

从RoR模型中获取两个随机元素

如何解决《从RoR模型中获取两个随机元素》经验,为你挑选了2个好方法。

我正在尝试使用RoR进行简单的操作,而我在学习基础知识时遇到了一些麻烦.我最接近的背景是ASP.NET MVC,但我发现所有的RoR教程都关注rails真正擅长什么(脚手架的东西)而不是如何制作自己的动作并让他们用参数等来做事.在ASP.NET MVC中微不足道.

目前我正试图从模型中获取两个随机元素.

我想我正在处理某种类型的ActiveRecord集合?

我已经读过在集合/数组的某处有一个.rand方法,尽管其他地方认为rand只是一种获取随机数达到一定数量的方法.我甚至无法使用以下代码:

def index
    @items = Array.new(Item[0], Item[0])

    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @domain }
    end
end

任何可以帮助解决这个问题的东西,理想情况下有助于从ASP.NET MVC到RoR的进一步修补,我们将非常感激.



1> Rob Watson..:

要从ActiveRecord模型中检索两个随机项:

@things = Thing.all(:order => 'RANDOM()', :limit => 2)



2> Gareth..:

如果您想要数据库中的2个随机项,请向数据库询问2个随机项:

@items = Item.find(:all, :limit => 2, :order => "RANDOM()")

Item如果您只使用2,那么从您的系统加载所有s 是没有意义的,这是浪费.

如果你已经有来自其他地方,你需要从随机值的数组,然后Rails添加一个rand与Array类方法:

@items = [my_arr.rand, my_arr.rand]

我不知道你想要Item[0]做什么但是在Rails中没有做任何有意义的事情.

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有