Ensure relation.order method receives Arel to silence deprecation warning #1196
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ransack v2.4.1 introduced the postgres_fields_sort_option configuration option (an awesome feature by the way!)
That change has the side effect of converting
scope_or_sort
from an Arel to a string. This triggers certain versions of Rails to fire a warning every time an order is applied ifpostgres_fields_sort_option
is set.This fix ensures that if the ordering is converted to a string when the
NULLS FIRST
/NULLS LAST
is appended it is then converted back into an Arel before being passed torelation.order
. This silences the warnings because the sql is no longer a string when it is run.More info on the warning can be found here: rails/rails#32995