Когда вы создали свою миграцию с помощью этой команды:
ruby script/generate migration add_user_id_to_post user_id:integer
Скрипт миграции знает от вашего имени миграции до add
a user_id
для Post
модель user_id:integer
- это стандартный код ActiveRecord :: Migration для определения user_id, который является целым числом.
Вы увидите миграцию, сгенерированную со следующим кодом:
class AddUserIdToPost < ActiveRecord::Migration
def self.up
add_column :posts, :user_id, :integer
end
def self.down
remove_column :posts, :user_id
end
end
После того, как вам нужно запустить:
rake db:migrate
Проверьте вашу базу данных, чтобы увидеть, что user_id присутствует в таблице Post. В противном случае post.user.name не будет работать