Tag: 随机

显示随机数据库项目以查看 – Rails

我已经研究了这个问题的答案了一段时间,但无法弄明白。 我正在尝试构建一个显示数据库中随机项的视图(我最终将通过按钮单击进行未来的实现)。 我不知道什么是错的。 我有一个名为Answers的脚手架,只显示文字。 在我的Answers Controller中,我构建了一个名为random的自定义方法: def index @answers = Answer.all end def show end def random # @randitem = @items[rand(items.count)] @randanswer = Answer.random_answer end 在我的模特中: class Answer < ActiveRecord::Base def self.random_answer Answer.order("RAND()").first end end 最后,在我的观点/ random.html.erb中: 文件夹截图: 我只是以我的智慧结束,这令人沮丧,因为我觉得这是一个非常简单的问题。 任何建议或有用的资源将不胜感激。

Rails:生成唯一的随机数以填充CSS类String如何?

所以我们假设我们有一个使用此代码的rails视图: Users who have the Title 我们想要做的是自动打印这一行: 除了每个用户名,循环抛出我们但是我们希望X每次都是一个不同的唯一随机数… 如何实现这一目标?

使用will_paginate通过随机列出的博客文章进行分页

我希望用户能够以随机顺序浏览我的博客post。 我无法像这样实现它: @posts = Post.paginate :page => params[:page], :order => ‘RANDOM()’ 因为:order参数是在每个查询中调用的,因此我冒着重复博客post的风险。 最好的方法是什么?

稳定/可重复的随机排序(MySQL,Rails)

我想通过随机排序的ActiveRecord模型列表(来自MySQL数据库的行)进行分页。 但是,这种随机化需要在每个会话的基础上持续存在,以便访问该网站的其他人也可以获得随机的,可分页的记录列表。 假设有足够的实体(数万个)将随机排序的ID值存储在会话或cookie中太大,所以我必须暂时以其他方式(MySQL,文件等)保留它。 最初我以为我可以根据会话ID和页面ID创建一个函数(返回该页面的对象ID),但是由于MySQL中的对象ID值不是连续的(有间隙),因此我似乎崩溃了正在戳它。 好处是它不需要/最小存储,但缺点是它实现起来可能非常复杂并且可能是CPU密集型的。 我的感觉是我应该创建一个交集表,例如: random_sorts( sort_id, created_at, user_id NULL if guest) random_sort_items( sort_id, item_id, position ) 然后只需将’sort_id’存储在会话中。 然后,我可以像往常一样对random_sorts WHERE sort_id = n ORDER BY position LIMIT …进行分页。 当然,我必须在那里放一些收割机,以便在一段时间不活动后将它们移除(基于random_sorts.created_at)。 不幸的是,我必须在创建新对象时(和/或删除旧对象,尽管删除非常罕见)使排序无效。 并且,随着负载的增加,该表的大小/性能(甚至正确索引)下降。 看起来这应该是一个解决的问题,但我找不到任何这样做的轨道插件…任何想法? 谢谢!!

Rails – 如何在不重新加载页面的情况下刷新页面?

Rails – 如何在不重新加载页面的情况下刷新页面? 我正在构建一个应用程序,它具有每次人们访问该页面时都会发出随机数(随机记录)的function,但问题是当用户访问该页面时,会给出一个随机数,但该数字会发生变化再次,如果用户刷新页面。 即使用户刷新页面或返回该页面时,如何保留该随机数,随机数保持不变。 我想在浏览器中禁用刷新function会阻止用户刷新页面,从而阻止他们更改随机数,但在研究之后,看起来禁用刷新function似乎是一个好主意。 有没有其他方法可以实现它? —- —-更新 我试过了 #posts_controller.rb def new @random = cookies[:stuff] ||= Stuff.random end 并且在我的视图中调用@random.content ,因为我只想要Stuff模型的内容,第一次没问题但是当我刷新页面时,它为我提供了undefined method ‘content’ for “#”:String什么事了?

随机生成的密码Rails 3.1

出于新的Web应用程序的目的,我需要在我的注册页面(仅限管理员)上只有一个电子邮件字段。 问题是我对rails非常陌生,所以即使是基本的东西对我来说也很难…… 我使用Railscast#270创建了我的身份validation,它使用has_secure_password方法。 现在,一切都很好,除了我不需要所有这些公牛…我还想使用Action Mailer将生成的密码发送到他的电子邮件地址。 hex(8)密码是完美的(我已经看过SecureRandom,但似乎已经折旧了) Users_Controller: class UsersController [:new, :create] def new @user = User.new end def create @user = User.new(params[:user]) if @user.save # Tell the Mailer to send a welcome Email after save Mailer.confirm_email(@user).deliver redirect_to root_url, :notice => “Signed up!” else render “new” end end end User_model: class User :create end 现在,在我看来,我有2个字段。 但正如我先前所说,我只想要一个。 […]

从数组中选择唯一的随机数

b是我想要的最大赢家。 b.times do winner = participant[rand(participant.count)] end 我每次都需要产生一个独特的赢家。 如何在不对此代码进行太多更改的情况下实现此目的?

种子是否在不同的Rubys中生成相同的随机序列?

假设我调用srand(1234) ,然后重复调用rand() 。 无论我的环境如何,我都能保证获得相同的随机数序列吗? 例如, Ruby 1.8.7 vs 1.9.3 vs 2.0 MRI与JRuby Windows vs Mac vs Linux

生成伪随机字符串AZ,0-9

如何生成一个只包含AZ 0-9字符伪随机字符串,像没有”+” , “/”和”=” SecureRandom.base64一样0-9 ? 例如: (0..n).map {((‘1’..’9′).to_a + (‘A’..’Z’).to_a)[rand(36)]}.join

随机抽样数组的唯一子集

如果我有一个数组: a = [1,2,3] 如何随机选择数组的子集,以使每个子集的元素都是唯一的? 也就是说,对于可能的子集将是: [] [1] [2] [3] [1,2] [2,3] [1,2,3] 我无法生成所有可能的子集,因为a的实际大小非常大,因此有许多子集。 目前,我正在使用“随机游走”的想法 – 对于a的每个元素,我’翻转一个硬币’并包括它,如果硬币出现在头上 – 但我不确定这是否实际上均匀地对空间进行采样。 感觉它偏向中间,但这可能只是我的想法进行模式匹配,因为会有更多中等大小的可能性。 我使用正确的方法,或者我应该如何随机抽样? (我知道这更像是一种语言不可知和’数学’的问题,但我觉得它不是Mathoverflow的真正材料 – 我只需要一个实际的答案。)