diff options
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/relation/query_methods.rb | 2 | ||||
-rw-r--r-- | activerecord/lib/active_record/relation/where_clause_factory.rb | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/relation/query_methods.rb b/activerecord/lib/active_record/relation/query_methods.rb index 55fd0e0b52..0dcecbd42d 100644 --- a/activerecord/lib/active_record/relation/query_methods.rb +++ b/activerecord/lib/active_record/relation/query_methods.rb @@ -552,6 +552,8 @@ module ActiveRecord WhereChain.new(spawn) elsif opts.blank? self + elsif !opts.is_a?(String) && !opts.respond_to?(:to_h) + raise ArgumentError, "Unsupported argument type: #{opts} (#{opts.class})" else spawn.where!(opts, *rest) end diff --git a/activerecord/lib/active_record/relation/where_clause_factory.rb b/activerecord/lib/active_record/relation/where_clause_factory.rb index 9662756c2e..83ac074f97 100644 --- a/activerecord/lib/active_record/relation/where_clause_factory.rb +++ b/activerecord/lib/active_record/relation/where_clause_factory.rb @@ -21,7 +21,7 @@ module ActiveRecord parts = predicate_builder.build_from_hash(attributes) else - raise ArgumentError, "Unsupported argument type: #{opts} (#{opts.class})" + parts = [opts] end WhereClause.new(parts, binds) |