aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/generators/generated_attribute.rb
diff options
context:
space:
mode:
authorAleksey Magusev <lexmag@gmail.com>2012-07-11 01:38:21 +0400
committerAleksey Magusev <lexmag@gmail.com>2012-07-18 00:13:19 +0400
commit211d88b71b3df2ae161b23579a79f8e937132388 (patch)
tree531ae144bfd1e3fa8bcad17d31547d4dd4d84bb2 /railties/lib/rails/generators/generated_attribute.rb
parentd4811702510bf289bb07ce93263cd04d49e96bea (diff)
downloadrails-211d88b71b3df2ae161b23579a79f8e937132388.tar.gz
rails-211d88b71b3df2ae161b23579a79f8e937132388.tar.bz2
rails-211d88b71b3df2ae161b23579a79f8e937132388.zip
Add join table migration generator
For instance, running rails g migration CreateMediaJoinTable artists musics:uniq will create a migration with create_join_table :artists, :musics do |t| # t.index [:artist_id, :music_id] t.index [:music_id, :artist_id], unique: true end
Diffstat (limited to 'railties/lib/rails/generators/generated_attribute.rb')
-rw-r--r--railties/lib/rails/generators/generated_attribute.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/railties/lib/rails/generators/generated_attribute.rb b/railties/lib/rails/generators/generated_attribute.rb
index d480fc12b5..35cd40d25e 100644
--- a/railties/lib/rails/generators/generated_attribute.rb
+++ b/railties/lib/rails/generators/generated_attribute.rb
@@ -8,6 +8,7 @@ module Rails
attr_accessor :name, :type
attr_reader :attr_options
+ attr_writer :index_name
class << self
def parse(column_definition)
@@ -94,7 +95,7 @@ module Rails
end
def index_name
- if reference?
+ @index_name ||= if reference?
polymorphic? ? %w(id type).map { |t| "#{name}_#{t}" } : "#{name}_id"
else
name