Блоки в чистом ERB/Erubis

У меня есть следующий Ruby-скрипт:

require 'erubis'

def listing(title, attributes={})
  "output" + yield + "more output"
end

example = %Q{<% listing "db/migrate/[date]_create_purchases.rb", :id => "ch01_292" do %>
<![CDATA[class CreatePurchases < ActiveRecord::Migration
  def change
    create_table :purchases do |t|
      t.string :name
      t.float :cost
      t.timestamps
    end
  end
end]]>
<% end %>}

chapter = Erubis::Eruby.new(example)
p chapter.result(binding)

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

Я знаю, что ERB работал таким образом в Rails 2.3, а теперь работает с <%=в Rails 3... но я вообще не использую Rails. Это просто чистый ERB.

Как заставить его выводить весь контент?

5
задан Ryan Bigg 22 March 2012 в 03:37
поделиться