我在application_controller中为我的登录和注册视图分配了不同的布局,如下所示:
layout :layout_by_resource
def layout_by_resource
if devise_controller? && resource_name == :user && action_name == 'new'
"login"
else
"application"
end
end
进入登录或注册信息时,它可以完美运行。但是在注册时存在验证错误,标准应用程序布局会被渲染。我做错了什么建议?
谢谢!
答案 0 :(得分:7)
def layout_by_resource
devise_controller? ? 'login' : 'application'
end
)
答案 1 :(得分:4)
好的,自己修理;)必须检查创建操作...
layout :layout_by_resource
protected
def layout_by_resource
if controller_name == 'registrations' && action_name == 'new'
'login'
elsif controller_name == 'registrations' && action_name == 'create'
'login'
elsif controller_name == 'sessions' && action_name == 'new'
'login'
else
'application'
end
end