Update lingering uses of deprecated association dependency options (closes #4169) [coffe2code]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3941 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 6c67905c
...@@ -271,7 +271,7 @@ module ClassMethods ...@@ -271,7 +271,7 @@ module ClassMethods
# * <tt>collection=objects</tt> - replaces the collections content by deleting and adding objects as appropriate. # * <tt>collection=objects</tt> - replaces the collections content by deleting and adding objects as appropriate.
# * <tt>collection_singular_ids=ids</tt> - replace the collection by the objects identified by the primary keys in +ids+ # * <tt>collection_singular_ids=ids</tt> - replace the collection by the objects identified by the primary keys in +ids+
# * <tt>collection.clear</tt> - removes every object from the collection. This destroys the associated objects if they # * <tt>collection.clear</tt> - removes every object from the collection. This destroys the associated objects if they
# are <tt>:dependent</tt>, deletes them directly from the database if they are <tt>:exclusively_dependent</tt>, # are <tt>:dependent</tt>, deletes them directly from the database if they are <tt>:dependent => :delete_all</tt>,
# and sets their foreign keys to NULL otherwise. # and sets their foreign keys to NULL otherwise.
# * <tt>collection.empty?</tt> - returns true if there are no associated objects. # * <tt>collection.empty?</tt> - returns true if there are no associated objects.
# * <tt>collection.size</tt> - returns the number of associated objects. # * <tt>collection.size</tt> - returns the number of associated objects.
......
...@@ -62,7 +62,7 @@ def delete(*records) ...@@ -62,7 +62,7 @@ def delete(*records)
def clear def clear
return self if length.zero? # forces load_target if hasn't happened already return self if length.zero? # forces load_target if hasn't happened already
if @reflection.options[:exclusively_dependent] if @reflection.options[:dependent] && @reflection.options[:dependent] == :delete_all
destroy_all destroy_all
else else
delete_all delete_all
......
...@@ -9,13 +9,13 @@ class Company < ActiveRecord::Base ...@@ -9,13 +9,13 @@ class Company < ActiveRecord::Base
class Firm < Company class Firm < Company
has_many :clients, :order => "id", :dependent => true, :counter_sql => has_many :clients, :order => "id", :dependent => :destroy, :counter_sql =>
"SELECT COUNT(*) FROM companies WHERE firm_id = 1 " + "SELECT COUNT(*) FROM companies WHERE firm_id = 1 " +
"AND (#{QUOTED_TYPE} = 'Client' OR #{QUOTED_TYPE} = 'SpecialClient' OR #{QUOTED_TYPE} = 'VerySpecialClient' )" "AND (#{QUOTED_TYPE} = 'Client' OR #{QUOTED_TYPE} = 'SpecialClient' OR #{QUOTED_TYPE} = 'VerySpecialClient' )"
has_many :clients_sorted_desc, :class_name => "Client", :order => "id DESC" has_many :clients_sorted_desc, :class_name => "Client", :order => "id DESC"
has_many :clients_of_firm, :foreign_key => "client_of", :class_name => "Client", :order => "id" has_many :clients_of_firm, :foreign_key => "client_of", :class_name => "Client", :order => "id"
has_many :dependent_clients_of_firm, :foreign_key => "client_of", :class_name => "Client", :order => "id", :dependent => true has_many :dependent_clients_of_firm, :foreign_key => "client_of", :class_name => "Client", :order => "id", :dependent => :destroy
has_many :exclusively_dependent_clients_of_firm, :foreign_key => "client_of", :class_name => "Client", :order => "id", :exclusively_dependent => true has_many :exclusively_dependent_clients_of_firm, :foreign_key => "client_of", :class_name => "Client", :order => "id", :dependent => :delete_all
has_many :limited_clients, :class_name => "Client", :order => "id", :limit => 1 has_many :limited_clients, :class_name => "Client", :order => "id", :limit => 1
has_many :clients_like_ms, :conditions => "name = 'Microsoft'", :class_name => "Client", :order => "id" has_many :clients_like_ms, :conditions => "name = 'Microsoft'", :class_name => "Client", :order => "id"
has_many :clients_using_sql, :class_name => "Client", :finder_sql => 'SELECT * FROM companies WHERE client_of = #{id}' has_many :clients_using_sql, :class_name => "Client", :finder_sql => 'SELECT * FROM companies WHERE client_of = #{id}'
...@@ -29,7 +29,7 @@ class Firm < Company ...@@ -29,7 +29,7 @@ class Firm < Company
:finder_sql => 'SELECT * FROM companies WHERE client_of = 1000', :finder_sql => 'SELECT * FROM companies WHERE client_of = 1000',
:counter_sql => 'SELECT COUNT(*) FROM companies WHERE client_of = 1000' :counter_sql => 'SELECT COUNT(*) FROM companies WHERE client_of = 1000'
has_one :account, :foreign_key => "firm_id", :dependent => true has_one :account, :foreign_key => "firm_id", :dependent => :destroy
end end
class DependentFirm < Company class DependentFirm < Company
......
...@@ -5,13 +5,13 @@ class Company < ActiveRecord::Base ...@@ -5,13 +5,13 @@ class Company < ActiveRecord::Base
end end
class Firm < Company class Firm < Company
has_many :clients, :order => "id", :dependent => true has_many :clients, :order => "id", :dependent => :destroy
has_many :clients_sorted_desc, :class_name => "Client", :order => "id DESC" has_many :clients_sorted_desc, :class_name => "Client", :order => "id DESC"
has_many :clients_of_firm, :foreign_key => "client_of", :class_name => "Client", :order => "id" has_many :clients_of_firm, :foreign_key => "client_of", :class_name => "Client", :order => "id"
has_many :clients_like_ms, :conditions => "name = 'Microsoft'", :class_name => "Client", :order => "id" has_many :clients_like_ms, :conditions => "name = 'Microsoft'", :class_name => "Client", :order => "id"
has_many :clients_using_sql, :class_name => "Client", :finder_sql => 'SELECT * FROM companies WHERE client_of = #{id}' has_many :clients_using_sql, :class_name => "Client", :finder_sql => 'SELECT * FROM companies WHERE client_of = #{id}'
has_one :account, :dependent => true has_one :account, :dependent => :destroy
end end
class Client < Company class Client < Company
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
class Reply < Topic class Reply < Topic
belongs_to :topic, :foreign_key => "parent_id", :counter_cache => true belongs_to :topic, :foreign_key => "parent_id", :counter_cache => true
has_many :replies, :class_name => "SillyReply", :dependent => true, :foreign_key => "parent_id" has_many :replies, :class_name => "SillyReply", :dependent => :destroy, :foreign_key => "parent_id"
validate :errors_on_empty_content validate :errors_on_empty_content
validate_on_create :title_is_wrong_create validate_on_create :title_is_wrong_create
......
class Topic < ActiveRecord::Base class Topic < ActiveRecord::Base
has_many :replies, :dependent => true, :foreign_key => "parent_id" has_many :replies, :dependent => :destroy, :foreign_key => "parent_id"
serialize :content serialize :content
before_create :default_written_on before_create :default_written_on
......
...@@ -77,7 +77,7 @@ def test_aggregation_reflection ...@@ -77,7 +77,7 @@ def test_aggregation_reflection
end end
def test_has_many_reflection def test_has_many_reflection
reflection_for_clients = ActiveRecord::Reflection::AssociationReflection.new(:has_many, :clients, { :order => "id", :dependent => true }, Firm) reflection_for_clients = ActiveRecord::Reflection::AssociationReflection.new(:has_many, :clients, { :order => "id", :dependent => :destroy }, Firm)
assert_equal reflection_for_clients, Firm.reflect_on_association(:clients) assert_equal reflection_for_clients, Firm.reflect_on_association(:clients)
...@@ -89,7 +89,7 @@ def test_has_many_reflection ...@@ -89,7 +89,7 @@ def test_has_many_reflection
end end
def test_has_one_reflection def test_has_one_reflection
reflection_for_account = ActiveRecord::Reflection::AssociationReflection.new(:has_one, :account, { :foreign_key => "firm_id", :dependent => true }, Firm) reflection_for_account = ActiveRecord::Reflection::AssociationReflection.new(:has_one, :account, { :foreign_key => "firm_id", :dependent => :destroy }, Firm)
assert_equal reflection_for_account, Firm.reflect_on_association(:account) assert_equal reflection_for_account, Firm.reflect_on_association(:account)
assert_equal Account, Firm.reflect_on_association(:account).klass assert_equal Account, Firm.reflect_on_association(:account).klass
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册