aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb')
-rw-r--r--railties/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb16
1 files changed, 11 insertions, 5 deletions
diff --git a/railties/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb b/railties/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb
index 8939813304..08bf50dfe2 100644
--- a/railties/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb
+++ b/railties/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb
@@ -20,11 +20,17 @@ module TestUnit # :nodoc:
def attributes_hash
return if attributes.empty?
- attributes.map do |a|
- name = a.name
- name = "#{name}_id" if a.reference?
- "#{name}: @#{singular_table_name}.#{name}"
- end.sort.join(', ')
+ hash_values = []
+ attributes.each do |a|
+ hash_values << hash_value(a.reference? ? "#{a.name}_id" : a.name)
+ hash_values << hash_value("#{a.name}_type") if a.polymorphic?
+ end
+
+ hash_values.sort.join(', ')
+ end
+
+ def hash_value(name)
+ "#{name}: @#{singular_table_name}.#{name}"
end
end
end