是否可以从Ruby on rails上的更新操作/方法之外的操作/方法更新?

时间:2012-01-13 09:53:47

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 rubygems

是否可以从更新操作/方法以外的操作/方法更新? 例如,在我的用户控制器中,我已经有了用户帐户其他部分的更新方法。

我需要单独更改用户密码。是否有可能有这样的事情:

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来显示表单错误。

亲切的问候

1 个答案:

答案 0 :(得分:3)

是的,你可以:

在routes.rb中添加:

resources :users do
  member do
    put :another_method_to_update
  end
end

在视图中,您必须使用以下网址:

another_method_to_update_user_path(@user)