ciao ragazzi vi premetto che ho iniziato da poco a vedere un po come
funziona Rails vi volevo chiedere se mi potevate dare un dritta.
Io ho creato un form dove un utente si puo inscrivere ad un corso di
formazione, e vorrei che una volta avvenuta l’inscrione gli viene
mandato un mail di conferma con dentro ad esempio tutti i dati dove si
trova il corso ecc…
grazie mille ragazzi
ciao
lore
ciao ragazzi scusate non voglio essere insistente magari riprovo a
formulare la domanda
io ho creato la struttura con lo scaffold dove mi viene fuori il form
nome cognome professione ed email, a questo punto un utente si iscrive
compilando questo form e una volta avvenuta l’iscrizione dovrebbe
ricevere l’emeil di notifica
io so che devo crearlo con actionMailer ma non capisco se devo
configurare qualcosa, io sto utilizzando leopard
scusate di nuovo ma mi devo sbloccare
buon giornata a tutti
lore
Ciao Lorenzo
Prova cosi’:
#Â in app/controller/user_controller.rb
class UsersController < ApplicationController
def register
@user = User.new(params[:user])
@user.status = User::STATUS_REGISTERED
@user.password, @user.password_confirmation = params[:password],
params[:password_confirmation]
token = Token.new(:user => @user, :action => “register”)
if @user.save and token.save
MailSystem.deliver_register(token)
flash[:notice] = “Registrazione effettuata: riceverai una mail con
le istruzioni”
redirect_to :action => ‘login’
else
#Â flash[:error] = …
end
end
Token based account activation
def activate
token = Token.find_by_action_and_value(‘register’, params[:token])
redirect_to(home_url) && return unless token and !token.expired?
user = token.user
user.status = User::STATUS_ACTIVE
if user.save
token.destroy
flash[:notice] = “Ora puoi accedere al sito”
end
redirect_to :action => ‘login’
end
#Â … altri metodi
end
#Â in app/models/mail_system.rb
class MailSystem
def register(token)
recipients token.user.mail
subject “Mail di conferma”
body :token => token,
:url => url_for(:controller => ‘account’, :action =>
‘activate’, :token => token.value)
end
end
#Â in app/views/mail_system/register.html.erb
Benvenuto sul nostro sito.
Clicca sul link che segue per completare la registrazione.
<%= auto_link(@url) %>
E scusaci per il ritardo
dimenticavo:
class MailSystem < ActionMailer::Base
ciao grazie mille della risposta immediata,stavo notando che i metodi
che mi hai scritto e per login e password, lo posso utlizzare anche per
semplice iscrizione ad un corso dove non serve neache attivare l’account
ma sul emil di conferma dice solo dove si trova il corso
ma per testare il tutto in locale c’è la possibilità ?
scusate ma sono imbranato con programmazione e ho il kaos in testa
grazie
Per dettagli, guardati questo:
Lorenzo Ferracuti wrote:
ciao grazie mille della risposta immediata
lol
stavo notando che i metodi
che mi hai scritto e per login e password, lo posso utlizzare anche per
semplice iscrizione ad un corso dove non serve neache attivare l’account
ma sul emil di conferma dice solo dove si trova il corso
ma per testare il tutto in locale c’è la possibilità ?
scusate ma sono imbranato con programmazione e ho il kaos in testa
grazie
Vuoi soltanto notificare all’utente via mail la sua avvenuta iscrizione
al corso?
Allora diventa molto piu’ semplice:
in app/controller/user_controller.rb
class CourseController < ApplicationController
def register
# registra l’utente al corso
# magari con qualcosa di simile:
user = User.find(params[:user])
course = Course.find(params[:id])
course.users << user
# e qui mandi la mail
MailSystem.deliver_registeration(user, course)
flash[:notice] = "Registrazione effettuata: riceverai una mail con
le istruzioni etc etc"
end
end
in app/models/mail_system.rb
class MailSystem < ActionMailer::Base
def registeration(user, course)
recipients user.mail
subject “Sei registrato al nuovo corso etc etc”
body :user => user, :course => course
end
end
in app/views/mail_system/registeration.html.erb
Benvenuto al nuovo corso..
Qui puoi scrivere tutto quello che vuoi che appaia nella mail:
indirizzo del luogo dove si terra’ il corso, orari, etc.
utilizzando magari informazioni dagli oggetti @course e @user
come in questo saluto:
Ciao <%= @user.name %>,
…
ciao grazie mille per l’aiuto che mi stai dando ma vi vorrei chidere un
ultima cosa per adesso sembra che nn mi sta dando nessun errore anche
inserendo la parte di actionmail
ma come potrei testare se funziona in locale stavo vedendo nel libro
“svillupare applicazioni web con rails” che mi parla di libreria Tmail
ma non capito bene come funziona e anche di test funzionali
mi sapreste dir qualcosa come muovermi
grazie mille per l’aiuto vi chideo quest’ultima dritta
ciao