Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 3 Rails 3通过使用sunspot创建搜索多个模型_Ruby On Rails 3_Sunspot - Fatal编程技术网

Ruby on rails 3 Rails 3通过使用sunspot创建搜索多个模型

Ruby on rails 3 Rails 3通过使用sunspot创建搜索多个模型,ruby-on-rails-3,sunspot,Ruby On Rails 3,Sunspot,我试图在我的Rails应用程序中设置一个“新内容”部分,该部分考虑为不共享任何关系的各种表创建的新记录。它们有一个共同点,就是它们都有一个created_at字段,我将用它来确定它们是否真的是“新的”,然后我想用这个公共字段对结果进行排序。我试着用太阳黑子做这个,但我不知道如何利用从太阳黑子搜索返回的结果集 例如,在我的上传和文章模型中,我有: searchable do time :created_at end 在我的搜索操作中,我将执行以下操作: @updates = Sunspo

我试图在我的Rails应用程序中设置一个“新内容”部分,该部分考虑为不共享任何关系的各种表创建的新记录。它们有一个共同点,就是它们都有一个created_at字段,我将用它来确定它们是否真的是“新的”,然后我想用这个公共字段对结果进行排序。我试着用太阳黑子做这个,但我不知道如何利用从太阳黑子搜索返回的结果集

例如,在我的上传和文章模型中,我有:

searchable do
    time :created_at
end
在我的搜索操作中,我将执行以下操作:

@updates = Sunspot.search(Upload,Article) do
    with(:created_at).greater_than(1.hour.ago)
end
如果我执行@updates.total,它似乎会返回一些东西,它会返回我希望找到的记录数。除此之外,我不知道如何实际利用这些记录。我想做的是向视图发送@updates,确定每个记录的模型类型,然后继续打印相关信息,即名称、描述、父/子记录信息(例如upload.user.username)

我可能完全错了,也许对于我尝试执行的简单搜索,有一个比sunspot更好的选择?

有关如何使用搜索结果的详细信息,请参阅。您正在寻找的方法是“results”,默认情况下,它将为您提供前30个结果:

@updates.results # array of first 30 results

谢谢Salil,结果函数正是我所需要的。我得仔细看看那本自述。