Придумайте с мобильным типом пантомимы, 401 отображает только флэш-сообщение - PullRequest
2 голосов
/ 22 марта 2012

У меня есть приложение Rail 3.2.2 с Devise 2.0, с которым я начал включать мобильные представления. Я использую before_filter в моем application_controller.rb для использования мобильного макета следующим образом:

  before_filter :adjust_format_for_mobile

  private
    def adjust_format_for_mobile
      if request.env["HTTP_USER_AGENT"] && request.env["HTTP_USER_AGENT"][/(iPhone|iPod)/] 

         request.format = :mobile
      end
  end

У меня есть тип MIME, определенный в initializers/mime_types:

Mime::Type.register_alias "text/html", :mobile

Всякий раз, когда я пытаюсь получить доступ к root_path, как определено в routes.rb:

root :to => "wells#index"

(который защищен через before_filter :authenticate_user!)

Все, что отображается, это флэш-сообщение Devise (без HTML):

You need to sign in or sign up before continuing

У меня есть необходимый мобильный макет, что мне здесь не хватает? Поведение в настольной версии заключается в том, что вы перенаправлены на new_user_session_path, почему это не так?

EDIT:

Журнал консоли выглядит следующим образом:

   Started GET "/" for 127.0.0.1 at 2012-03-21 17:07:35 -0500
   Processing by WellsController#index as HTML
   Completed 401 Unauthorized in 0ms

Кроме того, это происходит только с этим конкретным путем (корневым путем). Если я вручную захожу в users / sign_up или users / sign_in, это работает отлично. Затем я могу войти, и все работает нормально.

1 Ответ

3 голосов
/ 22 марта 2012
...