ruby-on-rails-3 - Rails 3 太阳黑子限制选定记录

标签 ruby-on-rails-3 limit sunspot

目前我正在使用 Sunspot 从多个表中进行选择。我限制选择的记录,条件是创建日期必须在过去 5 天内。不过,我想更进一步,将所选记录的数量限制为 20 条?有什么办法可以用太阳黑子做到这一点吗?我不会做任何花哨的分组或任何事情。只需选择属于各种型号的记录并将其显示在屏幕上即可。

我当前的代码:

@updates = Sunspot.search(Upload,Help, User...) do
      with(:created_at).greater_than(5.days.ago)      
      order_by(:created_at, :desc)
end  

我尝试添加 readme 指定的“限制”子句在 Github 上,但这产生了未定义的方法错误,可能是因为我正在进行全局太阳黑子搜索,而不是针对特定模型的搜索。

错误代码:

@updates = Sunspot.search(Upload,Help, User...) do
          with(:created_at).greater_than(5.days.ago)      
          order_by(:created_at, :desc)
          limit(20)
end 

错误消息:

undefined method `limit' for #<Sunspot::DSL::Search:0x0000000790b8c8>

最佳答案

“限制”方法适用于“组”。请参阅the readme section on groups 。 Sunspot 提供分页功能(并且与 the kaminari gem 顺便说一句,它的工作方式就像一个魅力)。 See the section on solr pagination在自述文件中。具体来说,试试这个:

@updates = Sunspot.search(Upload,Help, User...) do
  with(:created_at).greater_than(5.days.ago)      
  order_by(:created_at, :desc)
  paginate page: 1, per_page: 20
end 

关于ruby-on-rails-3 - Rails 3 太阳黑子限制选定记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10985649/

相关文章:

jQuery 选择 : how to limit the number of selected values and provide an error message

ruby-on-rails-3 - 如何在 Ruby on Rails Heroku 应用程序中删除单个 Postgres 表?

ruby-on-rails - 在 Rails 3.0.11 中将 url_options 添加到 url_for

ruby-on-rails - ruby rails : Multiple Same Input Fields in Same Form

html - 如何在 CSS 中将最大宽度和高度限制为屏幕尺寸?

facebook-graph-api - 页面Feed中的LIMIT,SINCE和UNTIL参数

ruby-on-rails - RSolr RequestError Solr Response solr 配置中的严重错误

ruby - 太阳黑子 `LIKE` 查询

ruby-on-rails - 太阳黑子:更新子模型时父模型的力指数

ruby-on-rails-3 - 为什么在 Rails 中路由时使用 match 而不是 get?