2010-09-20 5 views
9

Je suis coincé avec une tâche rake qui doit préparer un bulletin d'information pour Mailchimp.Rails 3> Rendu des vues dans la tâche rake

utilisant des rails trucs 2.x googlé J'ai maintenant ce code:

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 

et je reçois ce message d'erreur: "méthode non définie virtual_path » pour faux: FalseClass"

Mon premier essai était avec render_to_string mais je ne peux pas y accéder car c'est dans le contrôleur et non dans la vue.

Toute aide serait grandement appréciée :)

Répondre

12

:layout => nil?

+0

Ok ... Merci, erreur du lundi! – jbfeldis

+0

Merci - c'était très utile. – Jurgen

Questions connexes