【问题标题】:Displaying partial results when with will_paginate and Rails使用 will_paginate 和 Rails 时显示部分结果
【发布时间】:2013-06-06 04:44:50
【问题描述】:

我是第一次使用 will_paginate。我最初的实现效果很好。比如:

@products = Product.paginate(:page => params[:page], :per_page => 10)

在 Product 控制器中,这会产生我所期望的结果,并且我可以很好地浏览产品列表。我现在要做的是只显示包含“玻璃”一词的产品,并且不知道如何完成它。有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.2 will-paginate


    【解决方案1】:

    像这样使用where 子句(假设@product.name 应该包含“玻璃”):

    @products = Product.where('name LIKE ?', '%glass%').paginate(...)
    

    不要忘记 paginate 参数,为了清楚起见,我将其删除。

    【讨论】:

    • 这行得通。我尝试过类似的方法,但我将 %% 放在 LIKE 周围,而不是变量。
    【解决方案2】:

    如果您只想从一个特定的列中搜索单词“glass”,您可以将其用作,

     Product.where("'column_name' like ?","% glass %").paginate(:page => params[:page], :per_page => 10)
    

    如果你想从整个记录中搜索它,那么你可以使用全文搜索。 退房:http://railscasts.com/episodes/370-ransack?view=asciicasthttps://github.com/ernie/ransack

    Gem Ransack 提供全文搜索。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      • 2017-03-13
      • 2017-10-09
      • 2013-01-02
      • 2013-01-22
      • 1970-01-01
      相关资源
      最近更新 更多