1

アプリで使用するものrender inline:rails 3.2

<%= render inline: @erb_code, locals: {f: f} %>

ここでは、レンダリング用@erb_codeの文字列を返します。ERB codeこのインラインの問題は@virtual_path、レンダリング時に が false に設定され、 の仕様でエラーが発生することrefresh(view)ですActionView::Template。エラーは次のとおりです。

 ActionView::Template::Error:
       A template needs to have a virtual path in order to be refreshed

エラーを引き起こす更新の定義の行は次のとおりです。

raise "A template needs to have a virtual path in order to be refreshed" unless @virtual_path

の完全な定義はhttp://api.rubyonrails.org/classes/ActionView/Template.htmlrefresh(view)にあります。

@virtual_path仕様エラーを回避するためにrspecでtrueを設定する方法は? しかし、コードの実行にはエラーがないようです。仕様でtrue を割り当てよう@virtual_pathとしましたが、機能しませんでした。

4

1 に答える 1

2

仕様の先頭でこの更新呼び出しをスタブ化することができます

ActionView::Template.any_instance.stub(:refresh)
于 2013-09-20T21:55:40.373 に答える