Как сделать так, чтобы вход в систему / вход в систему работал на вкладках jquery - PullRequest
0 голосов
/ 16 января 2012

Внутри моего представления индекса домашней страницы (... / app / views / home / index.html.haml) у меня есть

#tabs
%ul
  %li= link_to "Sign Up", new_user_registration_path, :remote => true
  %li= link_to "Log In",  new_user_session_path :remote => true

:coffeescript
  jQuery -> 
  $("#tabs").tabs()

Внутри моего нового представления (... / app / views / devise / session / new.html.html) у меня есть

= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f|
  %p
    = f.label :email
    %br/
    = f.email_field :email
  %p
    = f.label :password
    %br/
    = f.password_field :password
  %p
    - if devise_mapping.rememberable?
      = f.check_box :remember_me
      = f.label :remember_me
  %p
    = f.submit "Sign in"

Проблема, с которой я столкнулся, заключается в том, что файл макета приложения загружается во вкладки. Мне нужно исключить его из загрузки.

В настоящее время я использую контроллер devise по умолчанию для сессий, поэтому не могу легко передать nil опции макета при вызове render.

Должен ли я использовать частичное в методе link_to? Если да, то как мне указать синтаксис, чтобы он фактически использовал контроллер сеанса devise.

1 Ответ

1 голос
/ 16 января 2012

Я наконец нашел решение, которое довольно просто:

Внутри файла ... / config / application.rb добавьте

config.to_prepare do
  Devise::SessionsController.layout nil
  Devise::RegistrationsController.layout nil
end
...