Evaluate ransackable_scopes before attributes

This commit is contained in:
Farrukh Abdulkadyrov 2017-02-03 17:43:15 -05:00 committed by Farrukh Abdulkadyrov
parent 0fcf1b5ebf
commit 4589d5a385
1 changed files with 2 additions and 2 deletions

View File

@ -43,10 +43,10 @@ module Ransack
collapse_multiparameter_attributes!(params).each do |key, value| collapse_multiparameter_attributes!(params).each do |key, value|
if ['s'.freeze, 'sorts'.freeze].freeze.include?(key) if ['s'.freeze, 'sorts'.freeze].freeze.include?(key)
send("#{key}=", value) send("#{key}=", value)
elsif base.attribute_method?(key)
base.send("#{key}=", value)
elsif @context.ransackable_scope?(key, @context.object) elsif @context.ransackable_scope?(key, @context.object)
add_scope(key, value) add_scope(key, value)
elsif base.attribute_method?(key)
base.send("#{key}=", value)
elsif !Ransack.options[:ignore_unknown_conditions] || !@ignore_unknown_conditions elsif !Ransack.options[:ignore_unknown_conditions] || !@ignore_unknown_conditions
raise ArgumentError, "Invalid search term #{key}" raise ArgumentError, "Invalid search term #{key}"
end end