2011-03-01 12 views
31

hice autenticación en mis Carriles 3 aplicación en barbecho por Tony's tutorial¿Cómo crear el primer usuario (Administrador) (CanCan y Devise)?

no quiero registros públicos en mi aplicación, sólo para crear nuevos usuarios con cuenta de administrador, pero no puede crear la cuenta de administrador de forma manual, ya que en la tabla Los usuarios tienen una contraseña cifrada y una sal que deben ser generadas, y no sé cómo: |

+3

¿Qué tiene que ver esta pregunta con CanCan? –

+0

@Mark S ... No lo sé.? –

Respuesta

39

Puede hacerlo desde la consola de rieles. Desde la línea de comandos, vaya al directorio de la aplicación de rieles y escriba rails console. A continuación, introduzca el código siguiente para crear un usuario:

user=User.create!(:email=>'[email protected]',:username=>'test',:password=>'password') 

Esto creará un objeto de usuario (suponiendo que su recurso se llama legado del usuario). Ahora puede usar el objeto de usuario que acaba de crear para configurar privilegios de administrador.

+0

Aparece un error de plantilla en el navegador cuando quiero acceder a los usuarios/nuevo método indefinido 'modelo', y desde la consola cuando trato de crear un nuevo usuario obtengo ActionView :: Plantilla :: Error: ActionView :: Plantilla :: Error y muchas referencias de archivos (no es bueno copiar en el comentario :)) – dormitkon

+0

Esta es la parte de mi aplicación (código): http://anticdesign.info/work/ror/ – dormitkon

+0

¿Dónde está tu capacidad de modelo? - https://github.com/ryanb/cancan/wiki/defining-abilities –

20

Soy actual algo como esto (sus detalles pueden ser diferentes) en mi archivo seeds.rb para crear mi usuario administrador para Devise.

User.new({ :email => '[email protected]', :password => 'password', :password_confirmation => 'password'}).save 

Puede ejecutarlo utilizando rake db:seed en la ventana de terminal.

15

Además, si está utilizando confirmable y desea omitir el requisito de un correo electrónico de confirmación al crear nuevas cuentas se puede hacer algo como esto:

newuser = User.new({ :email => '[email protected]', 
      :password => 'password', 
      :password_confirmation => 'password'}) 
newuser.skip_confirmation! 
newuser.save 

Esto es útil si las cuentas que está creando son para usuarios de confianza o si está creando cuentas de prueba.

Cuestiones relacionadas