devise_for :users, path_names: {
password: 'secret'
}
を使用して、レールのアプリ上の工夫パスワードページ用のルートを取得しようとしてしかし、それは、任意のアイデアを、それを返していませんか?
devise_for :users, path_names: {
password: 'secret'
}
を使用して、レールのアプリ上の工夫パスワードページ用のルートを取得しようとしてしかし、それは、任意のアイデアを、それを返していませんか?
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'に対応するフォーム入力を削除します。
パスワードページの内容を明確にすることはできますか?あなたが求めているページが何であるか分かりません。古典的なdevise URLはすべて '[action] _user_session_url'の形式になります – Mitch
コマンドラインで' rake routes'を実行します。あなたを正しい方向に導くかもしれない。 – GoGoCarl
devise/paswords/new devise/passwords/editの経路を生成しようとしています。私がルートをぼかすとき、彼らは現れません。 –