Rails 3> Рендеринг представлений в грабли - PullRequest
10 голосов
/ 20 сентября 2010

Я застрял с граблями, которые должны подготовить рассылку для Mailchimp.

Используя rails 2.x googled, теперь у меня есть этот код:

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 'для false: FalseClass "

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

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

1 Ответ

12 голосов
/ 20 сентября 2010

:layout => nil?

...