2016-04-28 5 views
-3

パスワードのページを作成する方法は?

devise_for :users, path_names: { 
    password: 'secret' 
} 

を使用して、レールのアプリ上の工夫パスワードページ用のルートを取得しようとしてしかし、それは、任意のアイデアを、それを返していませんか?

+1

パスワードページの内容を明確にすることはできますか?あなたが求めているページが何であるか分かりません。古典的なdevise URLはすべて '[action] _user_session_url'の形式になります – Mitch

+1

コマンドラインで' rake routes'を実行します。あなたを正しい方向に導くかもしれない。 – GoGoCarl

+0

devise/paswords/new devise/passwords/editの経路を生成しようとしています。私がルートをぼかすとき、彼らは現れません。 –

答えて

0
rake routes 

は、deviseから利用可能なすべてのルートを実行します。あなたがdevisesパスワードオプション(IE編集パスワード、パスワードを確認するパスワードを入力するなど)にアクセスしたい場合は、devise、resources、form_forを編集して探してください。これらのリソースを実際に使用して、複数のビューに独自のリソースを追加することができます。

デフォルトでは、Deviseはユーザーが:registerableモジュールを使用してパスワードを変更できるようにしています。しかし、開発者は、パスワードを必要とせずにユーザーが情報を変更できるようにするためのアクションを作成することがあります。この場合、アプリケーションの他のリソースと同様に、独自のコントローラを作成してアプリケーションに属し、編集および更新アクションを提供することをお勧めします。

変更が許可されているパラメータには制限がありますが、注意してください。

params[:user].permit(:first_name, :last_name, :address) 

代替ソリューションは、単にあなたの登録コントローラに「更新資源」メソッドをオーバーライドするために、次のようになります。特に、あなたはおそらく変更するだけで、ユーザデータフィールドを許可し、電子メール、パスワード、およびそのような情報を避けたいです次のように:あなたは、GEを持っている場合、

devise_for :users, controllers: {registrations: 'registrations'} 

最後に:このソリューションを使用する場合

class RegistrationsController < Devise::RegistrationsController 

    protected 

    def update_resource(resource, params) 
    resource.update_without_password(params) 
    end 
end 

あなたはroutes.rbをして、あなたのコントローラを使用するために考案指示する必要がありますdeviseを使用してビューを表示するには、app/views/devise/registrations/edit.html.erbの 'current_password'に対応するフォーム入力を削除します。

関連する問題