导轨和设计:如何在没有布局的情况下呈现登录页面? [英] Rails & Devise: How to render login page without a layout?
本文介绍了导轨和设计:如何在没有布局的情况下呈现登录页面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道这可能是一个简单的问题,但我仍在尝试设计...
I know this is probably a simple question, but I'm still trying to figure Devise out...
我想 render :layout =>false
在我的登录页面上;我怎样才能用 Devise 做到这一点?
I want to render :layout => false
on my login page; how can I do this with Devise?
推荐答案
您可以子类化控制器并配置路由器以使用它:
You can subclass the controller and configure the router to use that:
class SessionsController < Devise::SessionsController
layout false
end
在 config/routes.rb
中:
devise_for :users, :controllers => { :sessions => "sessions" }
您也需要将会话视图移动到此控制器.
You need to move the session views to this controller too.
OR 在 app/controllers/application_controller.rb
中创建一个方法:
OR make a method in app/controllers/application_controller.rb
:
class ApplicationController < ActionController::Base
layout :layout
private
def layout
# only turn it off for login pages:
is_a?(Devise::SessionsController) ? false : "application"
# or turn layout off for every devise controller:
devise_controller? && "application"
end
end
这篇关于导轨和设计:如何在没有布局的情况下呈现登录页面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文