【问题标题】:Rails 3 Searching Multiple Models by created_at using sunspotRails 3 通过 created_at 使用 sunspot 搜索多个模型
【发布时间】:2012-06-08 23:11:56
【问题描述】:

我正在尝试在我的 Rails 应用程序中添加一个“新增功能”部分,该部分考虑了为不共享任何关系的各种表创建的新记录。它们的共同点是它们都有一个 created_at 字段,我将使用它来确定它们是否确实是“新的”,然后我想按该公共字段对结果进行排序。我尝试使用 Sunspot 执行此操作,但我不知道如何使用从 Sunspot 搜索返回的结果集...

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

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 )。

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

【问题讨论】:

    标签: ruby-on-rails-3 sunspot


    【解决方案1】:

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

    @updates.results # array of first 30 results
    

    【讨论】:

    • 谢谢 Salil,结果函数正是我所需要的。我得仔细看看那个自述文件。
    猜你喜欢
    • 2015-05-28
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多