On 8/7/07, Romain Durritçague <[EMAIL PROTECTED]> wrote:
> Salut à tous,
>
> J'ai donc une question pour un problème qui m'énerve depuis quelques jours.
> J'ai un newsletter_controller qui contient :
> def send_newsletter
> news = Newsletter.find(params[:id])
> news.update_attribute('date',Time.now)
> @liste = get_all_emails()
> for mail in @liste
> email =
> Notifier.create_mail_mailing_list_all(mail,news)
> Notifier.deliver (email)
> end
> end
>
> news c'est donc une newsletter que ça va chercher dans la base de données.
> mail est donc un membre de la mailinglist.
>
> J'ai donc le model Notifier qui contient l'action mail_mailing_list_all :
>
> def mail_mailing_list_all(mail,news)
>
> if mail[:language] == 'fr'
> subject = news[:subjectfr]
> subj_temp = news[:subjectfr]
> body = replace_ids(news[:textfr],mail[:id])
> contenu = replace_ids(news[:htmlfr],mail[:id])
> message = replace_ids(news[:nohtmlfr],mail[:id])
> elsif mail[:language] == 'en'
> subject = news[:subjecten]
> subj_temp = news[:subjecten]
> body = replace_ids(news[:texten],mail[:id])
> contenu = replace_ids(news[:htmlen],mail[:id])
> message = replace_ids(news[:nohtmlen],mail[:id])
> end
>
>
> @recipients = mail[:mail]
> @from = ["Newsletter UpShot
> <[EMAIL PROTECTED]>"]
> @subject = subject
> @sent_to = Time.now
> @charset = "UTF-8"
> @headers["X-Mailer"] = "Ruby ActionMailer"
> @headers["Reply-to"] = "Newsletter UpShot
> <[EMAIL PROTECTED] >"
> @headers["X-Priority"] = "3"
> @headers["Content-Transfer-Encoding"] = "8bit"
>
> if mail[:mailtype] == 'text'
> @content_type = "text/plain"
> @body["message"] = body
> @body["hash"] = mail_hash(mail[:mail])
> @body["id"] = mail[:id]
> @body["lang"] = mail[:language]
> @body["subj"] = replace_spaces(subj_temp)
>
> elsif mail[:mailtype] == 'html'
> @content_type = "multipart/alternative"
> part :content_type => "text/plain",
> :body =>
> render_message("mail_mailing_list_all_plain", :message =>
> message, :id => mail[:id], :lang => mail[:language], :hash =>
> mail_hash(mail[:mail]), :subj => replace_spaces(subj_temp))
>
> part :content_type => "text/html",
> :body =>
> render_message("mail_mailing_list_all_html", :contenu =>
> contenu, :id => mail[:id], :lang => mail[:language], :hash =>
> mail_hash(mail[:mail]))
> end
> end
>
>
> Cette action va donc envoyer la newsletter, français/anglais, html/text etc.
> La fonction replace_spaces va remplacer les espaces du sujet de la
> newsletter par des tirets pour créer un joli lien à mettre dans la
> newsletter qui permettra aux personnes d'accéder à la newsletter online.
>
>
> Le problème est que pour la première newsletter envoyée à la première
> personne, tout va bien, mais ensuite il me mets des tirets dans les sujets
> des newsletter à envoyer.
> Mais donc je me retrouve avec un sujet "à tirets" même dans les
> news[:subjectfr] et news[:subjecten] alors qu'ils n'ont normalement jamais
> été modifiés et qu'ils sont récupérés directement depuis la bdd et passés en
> paramètre dans la boucle du controller newsletter.
>
> Quelqu'un qui aura eut le courage de me lire jusqu'à la fin saurait
> m'expliquer ce problème ?
>
Pourquoi utilises tu des [:xx] pour atteindre tes valeurs et pas des
new.subjectfr ca serait plus lisible :)
--
Cyril Mougel
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---