diff options
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.rb | 16 |
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 |