开发者

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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜