Ich habe eine Rails-App (2.3.8), wo ich E-Mails mit ActionMailer von meinen Controllern ohne Probleme sende.Locale funktioniert nicht, wenn sie von einer Rake-Task aufgerufen wird
Allerdings habe ich eine Rake-Aufgabe erstellt, die von einem Cronjob (in Heroku) aufgerufen werden soll. Wenn diese E-Mails gesendet werden, werden in meinen Daten keine Gebietsschemaumwandlungen vorgenommen.
Ich habe gegoogled, irgendeine Lösung zu finden, aber konnte nicht.
Jeder kann mir helfen?
Danke. Hier
ist der Code:
cron.rake:
desc 'This task is called by the Heroku cron add-on'
task :cron => :environment do
puts 'Sending diary...'
hollydays = [6,0] #weekend
unless hollydays.member?(Time.zone.now.wday) #if is NOT a weekend
User.all.each do |user|
user.deliver_task_diary
end
end
puts 'done.'
end
Benutzermodell Methode:
def deliver_task_diary
TaskMailer.deliver_task_diary(self)
end
das Verfahren in TaskMailer Modell:
def task_diary(user)
next_five_tasks = user.next_five_tasks
last_five_tasks = user.last_five_tasks
recipients "#{user.name} <#{user.email}>"
from "My site <[email protected]>"
subject "Your daily tasks."
sent_on Time.zone.now
body :user => user, :next_five_tasks => next_five_tasks, :last_five_tasks => last_five_tasks
Ende
Teil meiner E-Mail-Vorlage, die locale spielt keine:
<%=l task.estimated_delivery_date, :format => :short %>
Wie werden Sie das Gebietsschema in der Reglereinstellung ? – pantulis