簡體   English   中英

未定義的方法'add_reference'

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM