Skip to content
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Trestle Search (trestle-search)

Search plugin for the Trestle admin framework

Getting Started

These instructions assume you have a working Trestle application. To integrate trestle-search, first add it to your application's Gemfile:

gem 'trestle-search'

Run bundle install, and then restart your Rails server.

To enable search capabilities within an admin resource, define a search block:

Trestle.resource(:articles) do
  search do |query|
    if query
      Article.where("title ILIKE ?", "%#{query}%")
    else
      Article.all
    end
  end
end

The search block accepts one or two parameters; the first is the string value of the search query. The second, optional parameter is the full params hash. The block should return a chainable scope.

The search block overrides the default (or custom) collection block. However the original collection block can be called to avoid redefining scopes. For example:

Trestle.resource(:articles) do
  collection do
    Article.order(created_at: :desc).includes(:author)
  end

  search do |q|
    q ? collection.where("title ILIKE ?", "%#{q}%") : collection
  end
end

Integration Examples

  1. ActiveRecord (ILIKE)
  2. PgSearch
  3. Chewy
  4. Sunspot

License

The gem is available as open source under the terms of the LGPLv3 License.

You can’t perform that action at this time.