Ruby on rails. Ransack search on money-rails Monetize attribute -


i having problems searching money-rails/monetized attribute using ransack. able search in cents. have model (gig) money attribute salary. can create model no problem with:

 <%= form.input :salary %> 

which saves value in salary_cents column expected in gig model have:

monetize :salary_cents 

i can show salary in view with:

<%= @gig.salary %> 

the problem having searching field ransack. salary attribute null, , salary_cents attribute populated should be, means can search in cents.

for search using:

<%= f.search_field :salary_cents_gteq %> <%= f.search_field :salary_cents_lteq %> 

but search $30, have input 3000. there way of manipulating inputted data, multiplying 100, before sending search request? there easier ways missing?

i have searched , cannot find information on searching money fields ransack.

thanks in advance.

ransack's custom predicates saves day!

# config/initializers/ransack.rb ransack.configure |config|      config.add_predicate 'gteq_euros',          arel_predicate: 'gteq',         formatter: proc { |v| v * 100 },         validator: proc { |v| v.present? }      config.add_predicate 'lteq_euros',          arel_predicate: 'lteq',         formatter: proc { |v| v * 100 },         validator: proc { |v| v.present? } end 

once restart rails application ransack dollars / euros wanted:

<%= f.search_field :salary_cents_gteq_euros %> <%= f.search_field :salary_cents_lteq_euros %> 

Comments

Post a Comment

Popular posts from this blog

java - Suppress Jboss version details from HTTP error response -

gridview - Yii2 DataPorivider $totalSum for a column -

Sass watch command compiles .scss files before full sftp upload -