Created
May 14, 2011 02:17
-
-
Save AquaGeek/971630 to your computer and use it in GitHub Desktop.
Rails Lighthouse ticket #2577
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From cbdca61d1f226d57bb2cf94f5d53af86d0eed294 Mon Sep 17 00:00:00 2001 | |
From: Daniel Higginbotham <[email protected]> | |
Date: Tue, 28 Apr 2009 10:16:40 -0400 | |
Subject: [PATCH] quick easy fix | |
--- | |
activerecord/lib/active_record/associations.rb | 140 ++++++++++++------------ | |
1 files changed, 70 insertions(+), 70 deletions(-) | |
diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb | |
index 2115878..8ef5f57 100755 | |
--- a/activerecord/lib/active_record/associations.rb | |
+++ b/activerecord/lib/active_record/associations.rb | |
@@ -1,74 +1,4 @@ | |
module ActiveRecord | |
- class HasManyThroughAssociationNotFoundError < ActiveRecordError #:nodoc: | |
- def initialize(owner_class_name, reflection) | |
- super("Could not find the association #{reflection.options[:through].inspect} in model #{owner_class_name}") | |
- end | |
- end | |
- | |
- class HasManyThroughAssociationPolymorphicError < ActiveRecordError #:nodoc: | |
- def initialize(owner_class_name, reflection, source_reflection) | |
- super("Cannot have a has_many :through association '#{owner_class_name}##{reflection.name}' on the polymorphic object '#{source_reflection.class_name}##{source_reflection.name}'.") | |
- end | |
- end | |
- | |
- class HasManyThroughAssociationPointlessSourceTypeError < ActiveRecordError #:nodoc: | |
- def initialize(owner_class_name, reflection, source_reflection) | |
- super("Cannot have a has_many :through association '#{owner_class_name}##{reflection.name}' with a :source_type option if the '#{reflection.through_reflection.class_name}##{source_reflection.name}' is not polymorphic. Try removing :source_type on your association.") | |
- end | |
- end | |
- | |
- class HasManyThroughSourceAssociationNotFoundError < ActiveRecordError #:nodoc: | |
- def initialize(reflection) | |
- through_reflection = reflection.through_reflection | |
- source_reflection_names = reflection.source_reflection_names | |
- source_associations = reflection.through_reflection.klass.reflect_on_all_associations.collect { |a| a.name.inspect } | |
- super("Could not find the source association(s) #{source_reflection_names.collect(&:inspect).to_sentence(:two_words_connector => ' or ', :last_word_connector => ', or ', :locale => :en)} in model #{through_reflection.klass}. Try 'has_many #{reflection.name.inspect}, :through => #{through_reflection.name.inspect}, :source => <name>'. Is it one of #{source_associations.to_sentence(:two_words_connector => ' or ', :last_word_connector => ', or ', :locale => :en)}?") | |
- end | |
- end | |
- | |
- class HasManyThroughSourceAssociationMacroError < ActiveRecordError #:nodoc: | |
- def initialize(reflection) | |
- through_reflection = reflection.through_reflection | |
- source_reflection = reflection.source_reflection | |
- super("Invalid source reflection macro :#{source_reflection.macro}#{" :through" if source_reflection.options[:through]} for has_many #{reflection.name.inspect}, :through => #{through_reflection.name.inspect}. Use :source to specify the source reflection.") | |
- end | |
- end | |
- | |
- class HasManyThroughCantAssociateThroughHasManyReflection < ActiveRecordError #:nodoc: | |
- def initialize(owner, reflection) | |
- super("Cannot modify association '#{owner.class.name}##{reflection.name}' because the source reflection class '#{reflection.source_reflection.class_name}' is associated to '#{reflection.through_reflection.class_name}' via :#{reflection.source_reflection.macro}.") | |
- end | |
- end | |
- class HasManyThroughCantAssociateNewRecords < ActiveRecordError #:nodoc: | |
- def initialize(owner, reflection) | |
- super("Cannot associate new records through '#{owner.class.name}##{reflection.name}' on '#{reflection.source_reflection.class_name rescue nil}##{reflection.source_reflection.name rescue nil}'. Both records must have an id in order to create the has_many :through record associating them.") | |
- end | |
- end | |
- | |
- class HasManyThroughCantDissociateNewRecords < ActiveRecordError #:nodoc: | |
- def initialize(owner, reflection) | |
- super("Cannot dissociate new records through '#{owner.class.name}##{reflection.name}' on '#{reflection.source_reflection.class_name rescue nil}##{reflection.source_reflection.name rescue nil}'. Both records must have an id in order to delete the has_many :through record associating them.") | |
- end | |
- end | |
- | |
- class HasAndBelongsToManyAssociationForeignKeyNeeded < ActiveRecordError #:nodoc: | |
- def initialize(reflection) | |
- super("Cannot create self referential has_and_belongs_to_many association on '#{reflection.class_name rescue nil}##{reflection.name rescue nil}'. :association_foreign_key cannot be the same as the :foreign_key.") | |
- end | |
- end | |
- | |
- class EagerLoadPolymorphicError < ActiveRecordError #:nodoc: | |
- def initialize(reflection) | |
- super("Can not eagerly load the polymorphic association #{reflection.name.inspect}") | |
- end | |
- end | |
- | |
- class ReadOnlyAssociation < ActiveRecordError #:nodoc: | |
- def initialize(reflection) | |
- super("Can not add to a has_many :through association. Try adding to #{reflection.through_reflection.name.inspect}.") | |
- end | |
- end | |
- | |
# See ActiveRecord::Associations::ClassMethods for documentation. | |
module Associations # :nodoc: | |
# These classes will be loaded when associations are created. | |
@@ -2188,4 +2118,74 @@ module ActiveRecord | |
end | |
end | |
+ | |
+ class HasManyThroughAssociationNotFoundError < ActiveRecordError #:nodoc: | |
+ def initialize(owner_class_name, reflection) | |
+ super("Could not find the association #{reflection.options[:through].inspect} in model #{owner_class_name}") | |
+ end | |
+ end | |
+ | |
+ class HasManyThroughAssociationPolymorphicError < ActiveRecordError #:nodoc: | |
+ def initialize(owner_class_name, reflection, source_reflection) | |
+ super("Cannot have a has_many :through association '#{owner_class_name}##{reflection.name}' on the polymorphic object '#{source_reflection.class_name}##{source_reflection.name}'.") | |
+ end | |
+ end | |
+ | |
+ class HasManyThroughAssociationPointlessSourceTypeError < ActiveRecordError #:nodoc: | |
+ def initialize(owner_class_name, reflection, source_reflection) | |
+ super("Cannot have a has_many :through association '#{owner_class_name}##{reflection.name}' with a :source_type option if the '#{reflection.through_reflection.class_name}##{source_reflection.name}' is not polymorphic. Try removing :source_type on your association.") | |
+ end | |
+ end | |
+ | |
+ class HasManyThroughSourceAssociationNotFoundError < ActiveRecordError #:nodoc: | |
+ def initialize(reflection) | |
+ through_reflection = reflection.through_reflection | |
+ source_reflection_names = reflection.source_reflection_names | |
+ source_associations = reflection.through_reflection.klass.reflect_on_all_associations.collect { |a| a.name.inspect } | |
+ super("Could not find the source association(s) #{source_reflection_names.collect(&:inspect).to_sentence(:two_words_connector => ' or ', :last_word_connector => ', or ', :locale => :en)} in model #{through_reflection.klass}. Try 'has_many #{reflection.name.inspect}, :through => #{through_reflection.name.inspect}, :source => <name>'. Is it one of #{source_associations.to_sentence(:two_words_connector => ' or ', :last_word_connector => ', or ', :locale => :en)}?") | |
+ end | |
+ end | |
+ | |
+ class HasManyThroughSourceAssociationMacroError < ActiveRecordError #:nodoc: | |
+ def initialize(reflection) | |
+ through_reflection = reflection.through_reflection | |
+ source_reflection = reflection.source_reflection | |
+ super("Invalid source reflection macro :#{source_reflection.macro}#{" :through" if source_reflection.options[:through]} for has_many #{reflection.name.inspect}, :through => #{through_reflection.name.inspect}. Use :source to specify the source reflection.") | |
+ end | |
+ end | |
+ | |
+ class HasManyThroughCantAssociateThroughHasManyReflection < ActiveRecordError #:nodoc: | |
+ def initialize(owner, reflection) | |
+ super("Cannot modify association '#{owner.class.name}##{reflection.name}' because the source reflection class '#{reflection.source_reflection.class_name}' is associated to '#{reflection.through_reflection.class_name}' via :#{reflection.source_reflection.macro}.") | |
+ end | |
+ end | |
+ class HasManyThroughCantAssociateNewRecords < ActiveRecordError #:nodoc: | |
+ def initialize(owner, reflection) | |
+ super("Cannot associate new records through '#{owner.class.name}##{reflection.name}' on '#{reflection.source_reflection.class_name rescue nil}##{reflection.source_reflection.name rescue nil}'. Both records must have an id in order to create the has_many :through record associating them.") | |
+ end | |
+ end | |
+ | |
+ class HasManyThroughCantDissociateNewRecords < ActiveRecordError #:nodoc: | |
+ def initialize(owner, reflection) | |
+ super("Cannot dissociate new records through '#{owner.class.name}##{reflection.name}' on '#{reflection.source_reflection.class_name rescue nil}##{reflection.source_reflection.name rescue nil}'. Both records must have an id in order to delete the has_many :through record associating them.") | |
+ end | |
+ end | |
+ | |
+ class HasAndBelongsToManyAssociationForeignKeyNeeded < ActiveRecordError #:nodoc: | |
+ def initialize(reflection) | |
+ super("Cannot create self referential has_and_belongs_to_many association on '#{reflection.class_name rescue nil}##{reflection.name rescue nil}'. :association_foreign_key cannot be the same as the :foreign_key.") | |
+ end | |
+ end | |
+ | |
+ class EagerLoadPolymorphicError < ActiveRecordError #:nodoc: | |
+ def initialize(reflection) | |
+ super("Can not eagerly load the polymorphic association #{reflection.name.inspect}") | |
+ end | |
+ end | |
+ | |
+ class ReadOnlyAssociation < ActiveRecordError #:nodoc: | |
+ def initialize(reflection) | |
+ super("Can not add to a has_many :through association. Try adding to #{reflection.through_reflection.name.inspect}.") | |
+ end | |
+ end | |
end | |
-- | |
1.5.5 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment