Отправка писем HAML с Пони - PullRequest
       32

Отправка писем HAML с Пони

0 голосов
/ 08 сентября 2011

Синатра 1.2.6 / Хамл 3.1.2 и Пони

Я получаю «неправильное количество аргументов (0 для 1)», которое указывает на

Синатра / base.rb

def haml(template, options={}, locals={})
  render :haml, template, options, locals
end

Я отправляю: html_body => (haml: html_email) Пони

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

М.

1 Ответ

1 голос
/ 26 октября 2011

Ваш код работает в Sinatra 1.2.6, Haml 3.1.3 и Pony 1.3.Хотя я бы использовал haml (: test) вместо (haml: test)

test.rb:

require 'rubygems'
require 'sinatra'
require 'pony'
require 'haml'

set :views, Proc.new { root }

get '/send' do
    options = {
    :to => 'user@gmail.com',
    :from => 'user@gmail.com',
    :subject => 'Test',
    :body => 'Test Text',
    :html_body => (haml :test),
    :via => :smtp,
    :via_options => {
      :address => 'smtp.gmail.com',
      :port => 587,
      :enable_starttls_auto => true,
      :user_name => 'login',
      :password => 'password',
      :authentication => :plain,
      :domain => 'HELO'
    }
  }

  Pony.mail(options)
end

test.haml:

!!!
%html
  %head
    %meta{ :content => "text/html; charset=utf-8", :"http-equiv" => "Content-Type" }
    %title Test
  %body
    %h1 Test
    %p Test content
...