dans le but d'une nouvelle application web, j'aurais besoin sur ma page d'inscription (qui est administrateur seulement) un seul champ email.Rails générés aléatoirement Rails 3.1
La chose est que im totalement nouveau sur des rails et ainsi de même des choses comme bases qui sont pour moi vraiment difficile ...
J'ai créé mon Railscast # en utilisant l'authentification 270 utilise sorcière méthode has_secure_password. Pour l'instant, tout fonctionne très bien sauf que je n'ai pas besoin de tout ce bullcrap ... Je veux aussi utiliser Action Mailer pour envoyer le mot de passe généré à son adresse e-mail. Un hexagone (8) mot de passe serait parfait (je l'ai vu SecureRandom mais il semble être amorti)
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
Pour l'instant, en A mon avis, j'ai 2 champs. Mais comme je l'ai dit plus tôt, je n'en veux qu'une. Je voudrais continuer à utiliser has_secure_password qui semble offrir une très bonne sécurité en ce qui concerne le hachage/sel.
Est-ce que votre question "comment puis-je définir le mot de passe pour mon utilisateur et lui envoyer un courriel?" –
Fondamentalement, je veux écrire quelque chose qui génèrerait un mot de passe et le définir dans une variable afin d'être accessible à partir de ma vue mailer et qui sera stocké dans mon db comme password_manifest.Je n'ai aucune idée de comment faire ces choses –
OK, donc j'ai fait ce que Frederick a dit A travaillé bien mais y at-il un moyen de le faire sans passer @random = SecureRandom.hex (8) à la vue? Parce que je ne savais pas quoi faire ainsi je l'ai passé à mon vue comme un hidden_field, alors je le réutilise dans ma méthode de création ... Ainsi son contrôleur> vue> contrôleur pour rien -_- –