Можно ли обновить действие / метод, отличный от действия / метода обновления в Ruby на рельсах? - PullRequest
0 голосов
/ 13 января 2012

Возможно ли выполнить обновление из действия / метода, отличного от действия / метода обновления? Например, в моем контроллере пользователей у меня уже есть метод обновления для других частей моей учетной записи пользователя.

Мне нужен отдельный пароль для смены пароля пользователя. Возможно ли иметь что-то подобное:

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 Ответ

3 голосов
/ 13 января 2012

Да, вы можете:

Добавьте это вways.rb:

resources :users do
  member do
    put :another_method_to_update
  end
end

В представлении вы должны использовать следующий URL:

another_method_to_update_user_path(@user)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...