con el propósito de una nueva aplicación web, necesitaría en mi página de registro (solo es administrador) un solo campo de correo electrónico.Contraseña generada aleatoriamente Rails 3.1
Lo que pasa es que soy totalmente nuevo en los carriles y por lo que incluso lo básico cosas como que son para mí muy difícil ...
he creado mi autentificación utilizando Railscast # 270 bruja utiliza has_secure_password método. Por ahora, todo funciona bien excepto que no necesito todo este bullcrap ... También quiero usar Action Mailer para enviar la contraseña generada a su dirección de correo electrónico. Un hexagonal (8) contraseña sería perfecto (que he visto SecureRandom pero parece ser depreciado)
Users_Controller:
class UsersController < ApplicationController
skip_before_filter :is_connected?, :only => [:new, :create]
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
# Tell the Mailer to send a welcome Email after save
Mailer.confirm_email(@user).deliver
redirect_to root_url, :notice => "Signed up!"
else
render "new"
end
end
end
User_model:
class User < ActiveRecord::Base
attr_accessible :email
has_secure_password
validates_presence_of :password, :email, :on => :create
end
Por ahora, en mi punto de vista, tengo 2 campos. Pero como dije antes, solo quiero uno. Me gustaría seguir usando has_secure_password que bruja parece ofrecer una muy buena seguridad con respecto a hash/salt.
¿Su pregunta es "cómo puedo establecer la contraseña para mi usuario y enviarla por correo electrónico a ellos?" –
Básicamente quiero escribir algo que genere una contraseña y configurarla en una variable para que sea accesible desde mi vista de correo y que se almacene en mi db como password_manifest. No tengo ni idea de cómo hacer esas cosas. –
OK, entonces hice lo que dijo Frederick. Funcionó muy bien, pero ¿hay una manera de hacerlo sin pasar @random = SecureRandom.hex (8) a la vista? Porque no sabía qué hacer, así que lo pasé a mi punto de vista como un campo_cubierto, luego lo reutilizo en mi método de creación ... Así que su controlador> ver> controlador para nada -_- –