From 6e18fa0375b7116328fbee920c074006962a52e8 Mon Sep 17 00:00:00 2001 From: Carl Lerche Date: Sat, 3 Apr 2010 09:21:44 -0700 Subject: Raise a StatementInvalid error when trying to build a condition with hash keys that do not correspond to columns. --- activerecord/lib/active_record/relation/predicate_builder.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/activerecord/lib/active_record/relation/predicate_builder.rb b/activerecord/lib/active_record/relation/predicate_builder.rb index 717756418c..d0efa2189d 100644 --- a/activerecord/lib/active_record/relation/predicate_builder.rb +++ b/activerecord/lib/active_record/relation/predicate_builder.rb @@ -20,7 +20,9 @@ module ActiveRecord table = Arel::Table.new(table_name, :engine => @engine) end - attribute = table[column] + unless attribute = table[column] + raise StatementInvalid, "No attribute named `#{column}` exists for table `#{table.name}`" + end case value when Array, ActiveRecord::Associations::AssociationCollection, ActiveRecord::Relation -- cgit v1.2.3