我正在使用Devise和Ruby on Rails,並且我想設置一個編輯用戶的視圖,只有當我想要提供當前密碼時一個新的密碼。換句話說 - 如果我想更改我的名字或生日,我可以簡單地將密碼字段留空,但如果我想更改密碼,我希望具有標準設計行爲。
我的編輯形式如下: 編輯在一個視圖中設計用戶並僅需要某些字段的密碼
我試圖讓沒有密碼更新爲通過重寫update_resource方法寫入here:
protected
def update_resource(resource, params)
resource.update_without_password(params)
end
但是,如果沒有從params.require(:user).permit(...)
刪除current_password
我收到以下錯誤:
我無法從允許的參數中刪除它,因爲我想在密碼更改的情況下使用它。
這樣做會怎樣?我正在考慮拆分視圖並創建一個用於密碼編輯的新窗體以及用於密碼編輯的控制器,但我更願意將它們全部放在一個地方。
我的答案能解決問題嗎? – Pavan
是的,絕對!我寫了一篇評論,其中我感謝你,我想我沒有點擊'添加評論'-_-你的回答非常有幫助,而且直截了當:)我只做了一些升級,將代碼替換爲「else 「和」結束「只是」超級「:) – bochen421
很高興聽到!隨時接受我的回答:) – Pavan