2013-02-13 50 views
0

我有一個我想在表中引用的遷移。我使用此創建參考:如何更新Ruby中的引用列

create_table :user_events do |t| 
    t.references :user, :null => false 
end 

而在我的遷移中,我希望能夠允許引用爲NULL。

def self.up 
    change_column :user_events, :user, :integer, :null => true 
end 

但是我總是收到PGError: ERROR: column "user" of relation "user_events" does not exist。我遷移錯了嗎?

回答

2

這應該工作:

def self.up 
    change_column :user_events, :user_id, :integer, :null => true 
end 

注意,你試圖改變列被稱爲user_id,不user

+0

謝謝,它的工作! – MichaelScaria 2013-02-13 02:50:22

1

這是因爲你的遷移創建一個名爲列user_ID的,它引用了用戶模型。

0

嘗試

def self.up 
    change_column :user_events do |c| 
    c.references :user, :integer, :null => true 
    end 
end