2010-12-01 2 views
2

У меня есть приложение Rails (2.3.8), где я отправляю электронные письма с помощью ActionMailer из моих контроллеров без проблем.Язык не работает при вызове из задачи рейка

Однако, я создал задачу рейка, которую вы должны называть из Кроны (в Героку). Когда эти письма отправляются, никаких изменений языкового стандарта в мои даты не производится.

Я искал Google, чтобы найти любое решение, но не смог.

Кто-нибудь может мне помочь?

Спасибо.

Вот код:

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 

пользователя Метод Модель:

def deliver_task_diary 
    TaskMailer.deliver_task_diary(self) 
end 

метод в TaskMailer модели:

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 

конец

часть моей электронной почты шаблона, это не распространяется локаль:

<%=l task.estimated_delivery_date, :format => :short %> 
+0

Как вы настройки локали в контроллере ? – pantulis

ответ

1

решаемая.

Я не знаю, если подмигнули лучший способ, но I've только что объявили локаль на самом на букву шаблона электронной почты HTML:

<% I18n.locale = "pt-BR" %> 
Смежные вопросы