Для рельсов 4
Генератор принимает тип столбца в качестве ссылки (также доступен как belongs_to
).
Эта миграция создаст user_id
столбец и соответствующий индекс:
$ rails g migration AddUserRefToProducts user:references
генерирует:
class AddUserRefToProducts < ActiveRecord::Migration
def change
add_reference :products, :user, index: true
end
end
http://guides.rubyonrails.org/active_record_migrations.html#creating-a-standalone-migration
Для Rails 3
Помощник называется ссылками (также доступны как belongs_to
).
Эта миграция создаст category_id
столбец соответствующего типа. Обратите внимание, что вы передаете имя модели, а не имя столбца. Active Record добавляет _id
для вас.
change_table :products do |t|
t.references :category
end
Если у вас есть полиморфные belongs_to
ассоциации, то ссылки добавят оба обязательных столбца:
change_table :products do |t|
t.references :attachment, :polymorphic => {:default => 'Photo'}
end
Добавит столбец attachment_id и строковый attachment_type
столбец со значением по умолчаниюPhoto
.
http://guides.rubyonrails.org/v3.2.21/migrations.html#creating-a-standalone-migration