Module: ElasticRansack::Model::ClassMethods
- Defined in:
- lib/elastic_ransack/model.rb
Instance Method Summary collapse
-
#elastic_ransack(options = {}, search_options = {}) ⇒ Object
options [:s] sorting column can contain sort mode separated by space example: ‘id desc’ [:q_cont] search against _all fields.
Instance Method Details
#elastic_ransack(options = {}, search_options = {}) ⇒ Object
options
- :s
-
sorting column can contain sort mode separated by space example: ‘id desc’
- :q_cont
-
search against _all fields
condition predicates:
'_cont' contains string value
'_eq' equal value
'_in' include any of the values
'_in_all' include all values
'_gt' greater then value
'_lt' less then value
'_gteq' greater or equal the value
'_lteq ' less or equal the value
search_options
- :globalize
-
For search on localized attributes like ‘name_en’ via ‘translations_’ prefixed field example:
User.elastic_ransack({translations_name_cont: 'text'}, globalize: true)will search on ‘name_en’ field (depending on current locale)
Examples
Product.elastic_ransack(name_cont: 'alex', category_id_eq: 1, tag_ids_in: [2, 3])
Product.elastic_ransack(tag_ids_in: '2,3,4')
Product.elastic_ransack(created_at_gt: 1.day.ago)
Product.elastic_ransack(q_cont: 'table')
Product.elastic_ransack(s: 'price desc')
Product.elastic_ransack({translations_name_cont: 'chair'}, globalize: true)
42 43 44 45 46 |
# File 'lib/elastic_ransack/model.rb', line 42 def elastic_ransack(={}, ={}) elastic_ransack = Search.new(self, , ) elastic_ransack.search elastic_ransack end |