Различная компоновка для устройства devise, проблема при ошибках формы - PullRequest
5 голосов
/ 19 апреля 2011

Я назначил другой макет для входа в систему и вида регистрации в application_controller, например:

  layout :layout_by_resource

  def layout_by_resource
    if devise_controller? && resource_name == :user && action_name == 'new'
      "login"
    else
      "application"
    end
  end

при вводе данных для входа или регистрации это работает отлично.но при регистрации возникают ошибки валидации, отображается стандартная схема приложения.любой совет, что я сделал не так?

спасибо!

Ответы [ 2 ]

7 голосов
/ 06 июля 2011
  def layout_by_resource
    devise_controller? ? 'login' : 'application'
  end

;)

4 голосов
/ 19 апреля 2011

хорошо, все исправил сам;) пришлось проверять действие создать ...

  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
...