Tengo un rol de usuario y administrador en mi proyecto. Creé mi autenticación con Devise.Confirmar el registro
En mi rol de administrador no tengo ninguna confirmación. En mi modelo de usuario tengo el siguiente:
devise :database_authenticatable, :confirmable, :recoverable,
:rememberable, :trackable, :validatable, :timeoutable, :registerable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :username, :prename, :surname, :phone, :street, :number, :location,
:password, :password_confirmation
Mi migración se ve así:
class DeviseCreateUsers < ActiveRecord::Migration
def self.up
create_table(:users) do |t|
t.database_authenticatable :null => false
t.confirmable
t.recoverable
t.rememberable
t.trackable
t.timeoutable
t.validateable
t.string :username
t.string :prename
t.string :surname
t.string :phone
t.string :street
t.integer :number
t.string :location
t.timestamps
end
add_index :users, :email, :unique => true
add_index :users, :confirmation_token, :unique => true
add_index :users, :reset_password_token, :unique => true
add_index :users, :username, :unique => true
add_index :users, :prename, :unique => false
add_index :users, :surname, :unique => false
add_index :users, :phone, :unique => false
add_index :users, :street, :unique => false
add_index :users, :number, :unique => false
add_index :users, :location, :unique => false
end
def self.down
drop_table :users
end
end
En mi routes.rb que añade siguientes declaraciones:
map.devise_for :admins
map.devise_for :users, :path_names => { :sign_up => "register", :sign_in => "login" }
map.root :controller => "main"
Después de registro de usuario Soy redirigido al controlador main
con el aviso de flash, "Se ha registrado correctamente", y he iniciado sesión. Pero no quiero iniciar sesión, porque no he confirmado mi nuevo usuario. aún no.
Si abro la consola, veo en los registros el texto del correo de confirmación, pero ya estoy conectado. No puedo explicar por qué. ¿Alguien tiene alguna idea?
Si copio a cabo la confirmación en token de los registros y confirmo mi cuenta, puedo entrar, pero si yo No te confirman, también puedo iniciar sesión.
sí, eso fue todo! Gracias. guitsaru tengo otra pregunta, tal vez me puede ayudar. quiero probar algunas cosas en la prueba funcional y debido a esto, tengo que iniciar sesión en un usuario. el inicio de sesión es bueno y funciona muy bien, pero tengo problemas con la confirmación. si hago sign_in User.make (desarrollo con maquinista), el usuario será make, pero no confirmado. Si lo hago así: sign_in User.make (: confirmed_at => Time.now,: confirmation_sent_at => Time.now, ....) No funciona. ¿Tienes una idea de lo que podría hacer? – Mattherick
¡Intenta usar confirmar! user = User.make user.confirm! – guitsaru
gracias hombre! ¡eso fue todo! me salvó de googeling otro medio día :) – Mattherick