Последние версии Erubis (2.6.4) и Rails 2.2 (и 2.3) по-прежнему несовместимы. Основная проблема заключается в том, что сгенерированный код ruby из Erubis использует "_buf" в качестве переменной буфера, а Rails 2.2 и 2.3 требуют использования "@output_buffer".
Причина использования "@output_buffer" заключается в том, что помощники ActionView, такие как CaptureHelper, созданы вокруг "@output_buffer", являющегося основным буфером в сгенерированном коде.
Я создал гем под названием elkinsware-erubis_rails_helper , который исправляет эти проблемы и позволяет использовать Erubis и Rails 2.3 (конечно, но он должен работать для 2.2).
В вашем файле environment.rb добавьте:
config.gem 'erubis' , :version => '2.6.4'
config.gem 'elkinsware-erubis_rails_helper', :lib => 'erubis_rails_helper', :source => 'http://gems.github.com'
И затем вы можете добавить config / initializers / erubis_config.rb, где вы можете настроить параметры Erubis / Rails.
#Erubis::Helpers::RailsHelper.engine_class = Erubis::Eruby # or Erubis::FastEruby
#Erubis::Helpers::RailsHelper.init_properties = {}
#Erubis::Helpers::RailsHelper.show_src = false
#Erubis::Helpers::RailsHelper.preprocessing = true
Источник: http://github.com/elkinsware/erubis_rails_helper/tree/master
Дайте мне знать, если у вас есть какие-либо проблемы с драгоценным камнем.