кнопка изменения пароля activeadmin

Я знаю, как изменить пароль с помощью devise, но я не знаю, как создать ссылку на действие для текущего пользователя-администратора. Например, добавление ссылки под письмом.

Изменить пароль

и это отправит вызов действия:

send_reset_password_instructions

Я не могу найти никакой хорошей документации для ActiveAdmin, на официальном сайте есть несколько примеров, но там ничего не объясняется. Непонятно, где и как все работает.


person Loïc Faure-Lacroix    schedule 21.06.2012    source источник


Ответы (1)


Рекомендуем ознакомиться с документацией ActiveAdmin по действиям настраиваемых контроллеров. Я добился этого, создав «member_action» (настраиваемое действие контроллера, которое воздействует на одну запись) и добавив «action_item» для его выполнения (это кнопки, которые появляются в правом верхнем углу при просмотре записи). Вот как я заставляю это работать:

# in app/admin/admin_users.rb
action_item do
  # Link to perform the member_action, "reset_password" defined below
  link_to("Reset Password", reset_password_admin_admin_user_path(admin_user))
end

member_action :reset_password do
  # Find the user in question
  admin_user = AdminUser.find(params[:id])

  # Call the method (from Devise) which sends them a password reset email
  admin_user.send_reset_password_instructions

  # Redirect back to the user's page with a confirmation
  redirect_to(admin_admin_user_path(admin_user),
    notice: "Password reset email sent to #{admin_user.email}")
end
person Steve Grossi    schedule 03.04.2013