2012-02-11 14 views

Respuesta

7

Tienes que subclase el controlador como en el siguiente:

class SessionsController < Devise::SessionsController 

    layout 'my_layout' 

end 

y cambiar las rutas:

devise_for :users, :controllers => {:sessions => "sessions"} 
+0

Luego aparece este error: Falta la plantilla Faltan sesiones de plantilla/nuevas con. He cambiado la carpeta de vista de diseño a las sesiones –

+0

. Tiene que cambiar la carpeta 'devise/sessions' a' sessions '. – lucapette

2

En primer lugar, establecer sus rutas. Por ejemplo:

devise_for :users, 
      :controllers => { 
         :registrations => "users/registrations", 
         :omniauth_callbacks => "users/omniauth_callbacks", 
         :sessions => "users/sessions"} 

En segundo lugar, crear el archivo con el controlador:

class Users::SessionsController < Devise::SessionsController 
    layout=>"my_layout" 
end 

En tercer lugar, crear las vistas para su controlador en views/usuarios/sesiones. Por ejemplo, new.html.haml

=form_for user=User.new, :as=>"user", :url=>session_path("user") do |f| 
    =f.label :email, 'email' 
    =f.text_field :email 
    =f.label :password, 'password' 
    =f.password_field :password 
    =link_to "Forgot your password?", new_password_path("user") 
    .button_container{:style=>'border-top: none;'} 
    =f.submit "sign in", :class=>'submit_button' 

Espero que esta ayuda.

Cuestiones relacionadas