diff options
author | Luca Guidi <guidi.luca@gmail.com> | 2008-10-31 17:28:16 +0100 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2008-11-01 15:04:08 +0100 |
commit | 5229fc4cc034ac5f565d143f5fd59ac11ebdc8e3 (patch) | |
tree | 42d56096e958a63b5f3b053970dc112a56914bb1 | |
parent | 5110a8e05b760524108bbb387e55c998c0274870 (diff) | |
download | rails-5229fc4cc034ac5f565d143f5fd59ac11ebdc8e3.tar.gz rails-5229fc4cc034ac5f565d143f5fd59ac11ebdc8e3.tar.bz2 rails-5229fc4cc034ac5f565d143f5fd59ac11ebdc8e3.zip |
Make sure habtm use class variable to list association valid keys
Signed-off-by: Michael Koziarski <michael@koziarski.com>
[#1310 state:committed]
-rw-r--r-- | actionpack/lib/action_controller/base.rb | 3 | ||||
-rwxr-xr-x | activerecord/lib/active_record/associations.rb | 21 |
2 files changed, 14 insertions, 10 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index b00cfda042..6756ddd0a4 100644 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -1227,7 +1227,8 @@ module ActionController #:nodoc: if logger && logger.info? logger.info "\n\nProcessing #{self.class.name}\##{action_name} (for #{request_origin}) [#{request.method.to_s.upcase}]" - if @_session && @_session.respond_to?(:session_id) && !@_session.dbman.is_a?(CGI::Session::CookieStore) + if @_session && @_session.respond_to?(:session_id) && + !(@_session.respond_to?(:dbman) && @_session.is_a?(CGI::Session::CookieStore)) logger.info " Session ID: #{@_session.session_id}" end diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb index 52f6a04da1..84caca3518 100755 --- a/activerecord/lib/active_record/associations.rb +++ b/activerecord/lib/active_record/associations.rb @@ -1596,16 +1596,19 @@ module ActiveRecord reflection end + mattr_accessor :valid_keys_for_has_and_belongs_to_many_association + @@valid_keys_for_has_and_belongs_to_many_association = [ + :class_name, :table_name, :join_table, :foreign_key, :association_foreign_key, + :select, :conditions, :include, :order, :group, :limit, :offset, + :uniq, + :finder_sql, :delete_sql, :insert_sql, + :before_add, :after_add, :before_remove, :after_remove, + :extend, :readonly, + :validate + ] + def create_has_and_belongs_to_many_reflection(association_id, options, &extension) - options.assert_valid_keys( - :class_name, :table_name, :join_table, :foreign_key, :association_foreign_key, - :select, :conditions, :include, :order, :group, :limit, :offset, - :uniq, - :finder_sql, :delete_sql, :insert_sql, - :before_add, :after_add, :before_remove, :after_remove, - :extend, :readonly, - :validate - ) + options.assert_valid_keys(valid_keys_for_has_and_belongs_to_many_association) options[:extend] = create_extension_modules(association_id, extension, options[:extend]) |