shioyama / mobility-ransack

Search attributes translated by Mobility with Ransack

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mobility Ransack

Gem Version Build Status Code Climate

Search on translated attributes with Mobility and Ransack.

Installation

Just add the gem to your Gemfile:

gem 'mobility-ransack', '~> 1.2.2'

Now enable the ransack plugin in Mobility's configuration:

Mobility.configure do
  plugins do
    ransack

    # ...
  end
end

This will enable the ransack plugin for all models. Disable it by passing false to the ransack option:

class Post < ApplicationRecord
  extend Mobility
  translates :foo, ransack: false
end

You can search on foo with Ransack just like any untranslated attribute, e.g. if Post has a title attribute translated with the Jsonb backend:

Post.ransack(title_cont: "foo").result
#=> SELECT "posts".* FROM "posts" WHERE ("posts"."title" ->> 'en') ILIKE '%foo%'

Other backends work exactly the same way.

License

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

About

Search attributes translated by Mobility with Ransack

License:MIT License


Languages

Language:Ruby 98.8%Language:Shell 1.2%