Devise(2.1)は、カスタムコントローラーを使用するように指示するまで、カスタムビューを正常に使用していました。今では私のカスタムビューを無視します。
以前はすべてが正常に機能していました。
Deviseにカスタムビューを使用するように指示します/config/devise.rb
# ==> Scopes configuration
# Turn scoped views on. Before rendering "sessions/new", it will first check for
# "users/sessions/new". It's turned off by default because it's slower if you
# are using only default views.
config.scoped_views = true
カスタムビューを追加します。/app/views/subscribers/session/new.html.erb
でルートを設定する/config/routes.rb
devise_for :subscribers
次に、カスタムSubscriberSessionsControllerを次のように追加しました/app/controllers/subscriber_session_controller.rb
class SubscriberSessionsController < Devise::SessionsController
before_filter :isInIframe
private
def isInIframe
@hide_navbar = session[:in_iframe]
end
end
また、/config/routes.rbを変更して、デフォルトの代わりにこの新しいコントローラーを使用するようにDeviseに指示します。
devise_for :subscribers, :controllers => {
:sessions => "subscriber_sessions"
}
サーバーを再起動すると、Deviseはこのコントローラーを使用しますが、カスタムビューを無視します。