6

無効にしたい

  def create
    self.resource = resource_class.send_reset_password_instructions(resource_params)

    if successfully_sent?(resource)
      respond_with({}, :location => after_sending_reset_password_instructions_path_for(resource_name))
    else
      respond_with(resource)
    end
  end

そのため、リセットパスワードを送信した後はまったくリダイレ​​クトされません

そこで、app/controllers/users/ の下に passwords_controller.rb という新しいファイルを作成しました。

このように見える

class User::PasswordsController < Devise::PasswordsController

  def create
    self.resource = resource_class.send_reset_password_instructions(resource_params)

    if successfully_sent?(resource)
      flash[:notice] = "sent password"
    else
      respond_with(resource)
    end
  end

  def new
    super
  end

  def update
    super       
  end

  def edit
    super   
  end
end

私のルートで変更されました

 devise_for :users, :controllers => { :invitations => 'users/invitations', :passwords => 'users/passwords' }

私はdevise_invite gemも持っています..

パスワードを忘れた場合のリンクをクリックすると、このエラーが発生します

Started GET "/users/password/new" for 127.0.0.1 at 2012-11-16 10:21:07 +0200

ActionController::RoutingError (uninitialized constant Users::PasswordsController):

私のrake routes

              user_password POST   /users/password(.:format)                  users/passwords#create
          new_user_password GET    /users/password/new(.:format)              users/passwords#new
         edit_user_password GET    /users/password/edit(.:format)             users/passwords#edit
                            PUT    /users/password(.:format)                  users/passwords#update

ビュー内のリンクは

<%= link_to "Forgot your password?", new_password_path(User) , :class => "control-group", :style => "position: absolute; bottom: 0", :id=>"forgotpass" %>

私は何が欠けていますか?

4

2 に答える 2

16

パスワード コントローラーは、devise パスワード コントローラーを拡張したものです。そこで、devise password controllerでパスワードコントローラーを拡張します。

class PasswordsController < Devise::PasswordsController
  ......................

end

パスワードコントローラーのルートをdeviseで変更する

devise_for :users, :controllers => { :passwords => "passwords" }

ルートは次のようになります:-

user_password       POST   /password(.:format)       Passwords#create

new_user_password   GET    /password/new(.:format)   Passwords#new

edit_user_password  GET    /password/edit(.:format)  Passwords#edit
                    PUT    /password(.:format)       Passwords#update
于 2014-03-10T08:52:24.767 に答える