jhund / filterrific

Filterrific is a Rails Engine plugin that makes it easy to filter, search, and sort your ActiveRecord lists.
http://filterrific.clearcove.ca
MIT License
911 stars 125 forks source link

Multi-select and multiple inputs for a single scope don't work together #225

Open neilvcarvalho opened 1 year ago

neilvcarvalho commented 1 year ago

Hi, folks,

I have a scope involving multiple fields, and some of those fields are multi-select fields.

I noticed that Filterrific drops some of the params for this multi-input scope. After investigating, I found out that the dropped params are the array-type params.

For example:

<%= fields_for :with_skills do |skills_form| %>
  <%= f.select :skills, skill_options, multiple: true %>
  <%= f.select :expertise, expertise_options %>
<% end %>

In this case, params will receive something like: {filters: { with_skills: {skills: ["knitting", "kungfu"], expertise: "mentor"}}}

Filterrific will accept the expertise filter, but not the skills filter.

I noticed https://github.com/jhund/filterrific/blob/master/lib/filterrific/param_set.rb#L27 handles multi-input scopes and multi-select fields, but not both. I plan to open a PR fixing this.

neilvcarvalho commented 1 year ago

This issue is fixed by #213

@jhund I'd be so thankful if #213 is merged and you cut a new release with this fix