2010-09-20 2 views
9

Я застреваю с задачей грабли, которая должна подготовить информационный бюллетень для Mailchimp.Rails 3> Рендеринг взглядов в рейк-задаче

Использование рельсов 2.x вещи гугле теперь у меня есть этот код:

desc "Sends newsletter to Mailchimp list" 
    task :send_newsletter => :environment do 
    begin 
     # get render helpers 
     av = ActionView::Base.new(Rails::Application::Configuration.new(Rails.root).view_path) 
     av.class_eval do 
     include ApplicationHelper 
     end 

     things = Stuff.do.things 

     h = Hominid::Base.new({:api_key => "xxx"}) 
     h.create_campaign(
     { 
      :list_id => "xxx", 
      :subject => "Hey...", 
      :from_email => "xxx", 
      :from_name => "xxx", 
      :to_email => "", 
      :auto_footer => true, 
      :generate_text => true 
     }, 
     { 
      :html => av.render(:template => "stuff/newsletter", :locals => {:things => things}, :layout => false) 
     }, 
     "regular") 
    rescue Exception => e 
     STDERR.puts ">>> #{e.to_yaml}" 
    end 

И я получаю сообщение об ошибке: «не определен метод` virtual_path»для ложных значений: FalseClass»

Моя первая попытка была с render_to_string, но я просто не могу получить доступ, поскольку он находится в контроллере, а не в представлении.

Любая помощь будет принята с благодарностью :)

ответ

12

:layout => nil?

+0

ОК ... Спасибо, в понедельник ошибка! – jbfeldis

+0

Спасибо - это было очень полезно. – Jurgen

Смежные вопросы