9
我被一個需要爲Mailchimp準備通訊的耙子任務卡住了。Rails 3>在Rake任務中渲染視圖
使用Rails 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,但我不能訪問,因爲它是在控制器而不是視圖。
任何幫助,將不勝感激:)
好的......謝謝,星期一錯誤! – jbfeldis 2010-09-20 15:15:45
謝謝 - 這是最有幫助的。 – Jurgen 2012-03-30 14:35:14