OSXでDevise 2.0.0とRails 3.2.3を使用しています。
DeviseコントローラーとDeviseビューの両方を同時にオーバーライドすることは可能ですか?
にある独自のスコープビューで確認/新しいビューを正常にオーバーライドしていましたviews/users/confirmations/new.html.erb
。スコープビューは正常に機能していました。
次に、after_confirmation_path_for メソッドをカスタマイズして独自のカスタム パスを返すためにDevise::ConfirmationsController
、独自のコントローラーでをオーバーライドする必要があることがわかりました。AppConfirmationsController
class AppConfirmationsController < Devise::ConfirmationsController
protected
def after_confirmation_path_for(resource_name, resource)
confirmed_app_custom_path
end
end
カスタムコントローラーが使用されるようにルートを変更しました
devise_for :users, :controllers => {:confirmations => 'app_confirmations'}
新しいコントローラーは正常に動作していますが、スコープ ビューが認識されなくなりました。スコープ ビューをレンダリングする代わりに、デバイスのデフォルト ビューがレンダリングされています。カスタム コントローラーの使用を停止すると、スコープ ビューが再び機能し始めます。
カスタマー コントローラーの使用時に、スコープ ビューに影響を与える構成設定がいくつかありませんか?