2009-12-04 11 views
6

でエラーを投げて、ここで私がやっているの簡単な例です:Erubisブロックヘルパー私はブロックヘルパーのカップルを持っている連結

def wrap_foo foo, &block 
    data = capture(&block) 

    content = " 
     <div class=\"foo\" id=\"#{foo}\"> 
     #{data} 
     </div>" 
    concat(content) 
end 

私はちょうどerubisをしようとしていると、それは私に次のエラーを与えています:

You have a nil object when you didn't expect it! 
You might have expected an instance of Array. 
The error occurred while evaluating nil.<< 

concatへの呼び出しを削除すると、エラーが削除されますが、私のラッパーが使用

をレンダリングされていないと終わる:

  • のRails 2.3.5
  • Erubis 2.6.5
  • とErubis(2.6.4が)とRails 2.3のプレイより良い一緒に
+0

のためにそれを固定し、私は両方のRails 2.3.4と2.3.5にFormtasticとErubisを使用して、同様の問題に遭遇してきました。 –

答えて

2

実は、rails_xss pluginを使用したのに役立ちますthis gemを試してみました私の究極の目標はこれに対する修正です。

私はちょうどこのconcat(content.html_safe!)

1

Erubisは、あなたが利用することができますので、2.7.0:このようにbufvarオプション:

Erubis::Helpers::RailsHelper.init_properties = {:bufvar => '@output_buffer'} 
+0

これは、レール2.3.14の下で見られた問題を修正しました。ここでは、form_forを呼び出すときに 'nil:NilClass'のエラー'未定義メソッド 'safe_concat ' – robd

0

追加

Erubis ::ヘルパー:: RailsHelper.init_properties = {:bufvar =>「@output_bufferを「}

設定/初期化子/ erubis.rbに私

関連する問題