0

我有一個用戶模型。我正在嘗試更新Admin模型的「確認」屬性。但是,在做這件事時,所有的屬性都會重新傳遞;並且由於使用了散列,由此導致的再次傳遞的密碼正在改變。 我已經在Michael Hart的教程中實現了我的模型,並使用了相同的散列技術。update_attribute在Rails中修改密碼

在管理模式可以設置的屬性至極
+1

請顯示一些代碼。從管理控制器 – tsherif 2012-04-06 08:12:49

+0

代碼: DEF確認 @用戶= User.find_all_by_confirmed(假) 端 DEF confirm_user @用戶= User.find(PARAMS [:ID]) @ user.update_attribute(:確認true) redirect_to:back end – 2012-04-06 08:56:22

+0

編輯您的問題,並在其中添加正確格式化的代碼。 – tsherif 2012-04-06 09:01:19

回答

1

而不是使用update_attribute()使用update_column(:name, value)方法,因爲update_attribute調用更新密碼的回調方法。

1

是通過白名單

attr_accessible :username 

現在只發布之時起訪問:用戶的用戶名屬性可以調整。

+0

實際上我不會發布任何東西的問題。即時通訊只需使用update_attribute方法。密碼已經被質量保護。它由於用戶模型中的身份驗證和加密方法而發生變化。 – 2012-04-06 10:50:27

+0

也沒有管理模式。 – 2012-04-06 11:04:26

+0

據我所知,當使用Edit方法時,它將使用http GET請求通過id獲取相應的對象,_form將被再次呈現,屬性將被加載到表單中,以保存/更新此記錄,您將單擊一個提交按鈕,使用http POST請求更新屬性,使用attr_accesible可以將受此POST請求影響的屬性列入白名單。這也是一種保護數據庫免於海量分配的方式,與我目前的問題無關。 – Dennis 2012-04-06 11:26:26