我正在尝试使用以下代码向我的帖子表添加用户引用:
class AddUserIdToPosts < ActiveRecord::Migration
def change
add_reference :posts, :user, index: true
end
end
但我收到一条错误消息:
undefined method 'add_reference'
任何人都知道如何解决这个问题?
我正在使用 Rails 3.2.13
我正在尝试使用以下代码向我的帖子表添加用户引用:
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 创建一些具有此功能的猴子补丁