Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure conditions differing only by ransacker_args aren't filtered out by uniq! #665

Conversation

ajporterfield
Copy link
Contributor

We have a setup similar to http://ransack-demo.herokuapp.com/users/advanced_search. We use ransackers + ransacker_args to create "virtual" attributes - by that I mean attributes that have the same name, but are passed different ransacker_args. One scenario for us is total_donations_over_time, which is a ransacker that takes a date range as its ransacker_args. We have "Total donations this year" and "Total donations last year" in our attributes dropdown, but they both map to total_donations_over_time. Anyways, I found that subsequent conditions having the same attribute name, predicate, and value were getting removed by self.conditions.uniq! even if they had different ransacker_args. This patch fixes the issue by passing a block to uniq!.

@jonatack
Copy link
Contributor

jonatack commented May 8, 2016

Thanks @ajporterfield for your PR! Sorry for the delay, will review it shortly.

@jonatack jonatack merged commit d31bb89 into activerecord-hackery:master May 10, 2016
@jonatack
Copy link
Contributor

Thanks again 🍰

jonatack added a commit that referenced this pull request May 12, 2016
prasadsurase pushed a commit to prasadsurase/ransack that referenced this pull request Sep 22, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants