0

是否可以從更新操作/方法以外的操作/方法進行更新? 例如在我的用戶控制器中,我已經有了用戶帳戶其他部分的更新方法。是否可以從Ruby on Rails中的更新操作/方法以外的操作/方法進行更新?

我需要一個單獨的更改我的用戶密碼。是否有可能有這樣的事情:

def another_method_to_update 
    user = User.authenticate(current_user.email, params[:current_password]) 
    if user.update_attributes(params[:user]) 
    login user 
    format.js { render :js => "window.location = '#{settings_account_path}'" } 
    flash[:success] = "Password updated" 
    else 
    format.js { render :form_errors } 

    end 
end 

然後有我的更改密碼錶知道使用該方法執行更新?

它有3個領域: 當前密碼 新密碼 確認新密碼

,我使用Ajax顯示錶單錯誤。

親切的問候

回答

3

是,您可以:

添加這routes.rb中:

resources :users do 
    member do 
    put :another_method_to_update 
    end 
end 

在視圖中,您必須使用以下網址:

another_method_to_update_user_path(@user) 
+0

我得到一個未定義的方法地圖錯誤 – LondonGuy 2012-01-13 10:14:52

+0

這是爲Rails 2.拋出'map.'。 – Hauleth 2012-01-13 10:26:01

+0

我現在正在獲取未定義的方法'another_method_to_update_user_path – LondonGuy 2012-01-13 10:52:14

相關問題