2012-06-21 61 views
1

我知道如何使用設計更改密碼,但我不知道如何爲當前管理員用戶創建操作的鏈接。例如在電子郵件下添加一個鏈接。activeadmin更改密碼按鈕

更改密碼

,並會發送到行動電話:

send_reset_password_instructions 

我真的不能找到任何ActiveAdmin良好的文檔,官方網站揭露一些例子,但什麼也沒有被真正解釋。它不清楚事情在哪裏以及如何運作。

回答

3

你會想看看ActiveAdmin的documentation on custom controller actions。我通過創建一個「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