2010-09-20 11 views
9

Ich bin mit einer Rake Aufgabe fest, die einen Newsletter für Mailchimp vorbereiten müssen.Rails 3> Rendersichten in Rake-Aufgabe

Schienen 2.x Sachen Mit gegoogelt ich jetzt diesen Code haben:

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 

Und ich bekomme diese Fehlermeldung: „nicht definierte Methode` virtual_path‘für falsch: False“

Mein erster Versuch war mit render_to_string aber ich kann einfach nicht zugreifen, da es in der Steuerung nicht die Ansicht ist.

Jede Hilfe wäre sehr geschätzt :)

Antwort

12

:layout => nil?

+0

Ok ... Danke, Montag Fehler! – jbfeldis

+0

Danke - das war sehr hilfreich. – Jurgen