2

おそらくerubisのインストールは次のように簡単です:

gem install erubis

# And in environment.rb:
require 'erubis/helpers/rails_helper'

しかし、私はこれがそうであるとは思いませんでした。私のコードには明らかなエラーがないことに注意してください。それはERBで問題なく実行されます。

  1. この行はどこに置くのですか?インクルードの直後にboot.rbサーバーの起動に失敗し、ファイルの最後で予期しない nil オブジェクト エラー (nil.controller) が発生します。どこがいい?
  2. 指定されたバージョンとの既知の競合はありますか?
  3. erubis を機能させるために利用できる回避策はありますか?
4

3 に答える 3

1

最新のErubis(2.6.4)とRails 2.2(および2.3)はまだ互換性がありません。主な問題は、Erubisから生成されたrubyコードがバッファ変数として「_buf」を使用し、Rails2.2および2.3では「@output_buffer」を使用する必要があることです。

「@output_buffer」を使用する理由は、CaptureHelperなどのActionViewヘルパーが、生成されたコードのプライマリバッファーである「@output_buffer」を中心に設計されているためです。

これらの問題を修正し、ErubisとRails 2.3を許可するelkinsware-erubis_rails_helperというgemを作成しました(確かに、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にあります

宝石に問題がある場合はお知らせください。

于 2009-06-18T11:37:00.170 に答える
1
  1. 下部またはenvironment.rbに配置するか、イニシャライザ(config/initializers/anything.rb)に配置します。Rails::Initializer ブロックの前に置くと、Rails 環境はまだ完全にロードされておらず、erubis/helpers/rails_helpers は完全にロードされた Rails 環境を想定しているようです。
  2. エルビスは使ったことがないので答えられません。
  3. 回避策?#1を参照してください。
于 2008-12-25T09:57:25.183 に答える
1

どうやらこれは壊れています:

http://kleinptr.wordpress.com/2009/02/04/erubis-and-rails-222/

そして彼らは修正に取り組んでいます:

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/328613

于 2009-02-23T19:52:56.310 に答える