mirror of
https://github.com/github/rails.git
synced 2026-01-29 08:18:03 -05:00
Fix issue where Table#references doesn't pass a :null option to a *_type attribute for polymorphic associations. Closes #10753 [railsjitsu]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8627 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* Fix issue where Table#references doesn't pass a :null option to a *_type attribute for polymorphic associations. Closes #10753 [railsjitsu]
|
||||
|
||||
* Fixtures: removed support for the ancient pre-YAML file format. #10736 [John Barnette]
|
||||
|
||||
* More thoroughly quote table names. #10698 [dimdenis, lotswholetime, Jeremy Kemper]
|
||||
|
||||
@@ -453,9 +453,7 @@ module ActiveRecord
|
||||
polymorphic = options.delete(:polymorphic)
|
||||
args.each do |col|
|
||||
column("#{col}_id", :integer, options)
|
||||
unless polymorphic.nil?
|
||||
column("#{col}_type", :string, polymorphic.is_a?(Hash) ? polymorphic : {})
|
||||
end
|
||||
column("#{col}_type", :string, polymorphic.is_a?(Hash) ? polymorphic : options) unless polymorphic.nil?
|
||||
end
|
||||
end
|
||||
alias :belongs_to :references
|
||||
|
||||
@@ -925,6 +925,14 @@ if ActiveRecord::Base.connection.supports_migrations?
|
||||
end
|
||||
end
|
||||
|
||||
def test_references_column_type_with_polymorphic_and_options_null_is_false_adds_table_flag
|
||||
with_new_table do |t|
|
||||
t.expects(:column).with('taggable_type', :string, {:null => false})
|
||||
t.expects(:column).with('taggable_id', :integer, {:null => false})
|
||||
t.references :taggable, :polymorphic => true, :null => false
|
||||
end
|
||||
end
|
||||
|
||||
def test_belongs_to_works_like_references
|
||||
with_new_table do |t|
|
||||
t.expects(:column).with('customer_id', :integer, {})
|
||||
|
||||
Reference in New Issue
Block a user