[英]Rails4 migration- adding null: false to an add_reference method?
[英]Undefined method 'add_reference'
我正在嘗試使用以下代碼向我的帖子表添加用戶引用:
class AddUserIdToPosts < ActiveRecord::Migration
def change
add_reference :posts, :user, index: true
end
end
但是我收到了一條錯誤消息:
undefined method 'add_reference'
誰知道如何解決這個問題?
我正在使用Rails 3.2.13
在Rails 3中你必須這樣做
class AddUserIdToPosts < ActiveRecord::Migration
def change
add_column :posts, :user_id, :integer
add_index :posts, :user_id
end
end
只有在Rails 4中,您才能按照發布的方式進行操作。
add_reference特定於rails 4.0.0,所以你應該嘗試這樣做:
class AddUserIdToPosts < ActiveRecord::Migration
def change
add_column :posts, :user_id, :integer
add_index :posts, :user_id
end
end
這是關於這個主題的一篇很棒的文章
你的遷移應該是
rails generate migration AddUserRefToPosts user:references
這個怎么樣:
def change
change_table :posts do |p|
p.references :user, index: true
end
end
此方法顯示在Rails 4.0中
我想你可以為Rails 3.2創建一些具有此功能的猴子補丁
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.