Skip to content

andresg4/trestle-search

 
 

Repository files navigation

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.

About

Search plugin for the Trestle admin framework

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 79.9%
  • CSS 11.5%
  • HTML 8.6%