2014-10-06 66 views
0

我有一個不同於默認的設計模型。它有額外的屬性。如何從Rails中的Devise用戶中刪除屬性?

例如,我的設計用戶有一個電子郵件,密碼,也是一個職業。我想寫一行代碼,將從當前登錄的用戶中刪除職業。我喜歡想象它會是這個樣子

current_user.career.delete 

這將非常空的職業生涯從數據庫中,從而使current_user.career會再回到nil,直到用戶再次更新添加了職業生涯。

我該怎麼做?

+0

以及這應該已經工作,這是一個有效的語法 – 2014-10-06 20:31:54

+0

嗯,我還沒有找到設計的github上的文檔。然而,當我嘗試運行這段代碼時,我得到了錯誤'錯誤的參數數量(0代表1+)' – johncorser 2014-10-06 20:38:36

+0

你可以在職業和用戶模型之間加上 – 2014-10-06 20:39:24

回答

1

刪除方法採用ID的ID或數組作爲參數,所以你可以簡單地使用

current_user.career = nil 
current_user.save 

,或者您可以通過創建遷移設置事業爲零,看到這個question

change_column :users, :career, :string, :default => nil 

documentation瞭解更多信息。

+0

當然!這應該是一個簡單的:) – johncorser 2014-10-06 20:59:50

+0

實際上,這不起作用,因爲它只改變current_user.career的值,它實際上並沒有從數據庫中刪除信息。 – johncorser 2014-10-06 21:06:17

+0

我也不認爲我可以使用change_column,因爲我想將它作爲較大腳本的一部分而不是單獨遷移。 – johncorser 2014-10-06 21:09:46