We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 146af8c commit 68364dfCopy full SHA for 68364df
1 file changed
lib/ransack/search.rb
@@ -52,6 +52,8 @@ def build(params)
52
add_scope(key, value)
53
elsif base.attribute_method?(key)
54
base.send("#{key}=", value)
55
+ elsif 'pd' == key
56
+ Array(value).each { |pd| add_polymorphic_dependency(pd) }
57
elsif !Ransack.options[:ignore_unknown_conditions] || !@ignore_unknown_conditions
58
raise ArgumentError, "Invalid search term #{key}"
59
end
@@ -130,6 +132,12 @@ def inspect
130
132
131
133
private
134
135
+ def add_polymorphic_dependency(name)
136
+ Ransack::Nodes::Attribute.new(context, name).tap do |a|
137
+ context.bind(a, a.name)
138
+ end
139
140
+
141
def add_scope(key, args)
142
sanitized_args = if Ransack.options[:sanitize_scope_args] && !@context.ransackable_scope_skip_sanitize_args?(key, @context.object)
143
sanitized_scope_args(args)
0 commit comments