Different layout for devise controller, problem when form errors
i assigned a different layout for my sign in and sign up view in the application_controller like th开发者_JAVA技巧is:
layout :layout_by_resource
def layout_by_resource
if devise_controller? && resource_name == :user && action_name == 'new'
"login"
else
"application"
end
end
when entering sign in or sign up information it works perfectly. but there are validation-errors on sign up, the standard application layout gets rendered. any advice what i have done wrong?
thanks!
def layout_by_resource
devise_controller? ? 'login' : 'application'
end
;)
okay, fixed it myself ;) had to check for the create action...
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
精彩评论