Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在RubyonRails中随机匹配表中的两条记录_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 如何在RubyonRails中随机匹配表中的两条记录

Ruby on rails 如何在RubyonRails中随机匹配表中的两条记录,ruby-on-rails,ruby,Ruby On Rails,Ruby,我试图通过运行一些基础知识来学习rails,同时也试图解决一个问题,如果我让它工作起来的话,这将帮助我节省时间。我需要将我的志愿者表中的每个志愿者随机配对给另一个志愿者。我希望匹配的作业显示在新页面上。我该怎么做?我的志愿者页面如下所示: 以下是我目前正在尝试的内容: def index @volunteers = Volunteer.all @volunteers.each do |element| item = @volunteers[rand(@volunteers.len

我试图通过运行一些基础知识来学习rails,同时也试图解决一个问题,如果我让它工作起来的话,这将帮助我节省时间。我需要将我的志愿者表中的每个志愿者随机配对给另一个志愿者。我希望匹配的作业显示在新页面上。我该怎么做?我的志愿者页面如下所示:

以下是我目前正在尝试的内容:

def index
  @volunteers = Volunteer.all
  @volunteers.each do |element|
    item = @volunteers[rand(@volunteers.length)]
    if (element == item)
      puts 'failed to find you a match. try again.'
    else
      puts element
      puts item
    end
  end
end

您应该将创建随机连接的逻辑移出索引,并在模型中为此创建一个单独的函数,然后在索引操作中调用它

在控制器中,执行以下操作

def index
  @volunteers = Volunteer.connections
end
在志愿者模型中,创建一个函数来处理志愿者之间的连接

def connections
  make some call using the Random function rand()
end

非常感谢简单的莱姆!我对格式化感到很沮丧,因为你可以告诉我,你不是在页面上显示html代码,而是使用puts。这是你想要解决的问题还是代码有其他问题?也许只有我一个人,但我没有得到结果应该是什么?您包含的图像显示了您的页面现在的外观,但是您是否希望在页面中也包含
put
的数据?或者可能只有那些有比赛的志愿者?或者那些没有火柴的人?你能编辑你的问题并添加更多信息吗?这实际上并不能回答问题。此外,它将是
def self.connections