1

私が使用する1つのビューで

render :partial => "form_linktype_#{@linkjob.link_type}", :locals => {:linkjob =>  @linkjob }

@linkjob は Linktype 型のインスタンス変数です

私が使用する別のビューで

render :partial => "shared/quality_requirements/linktype_#{o.link_type}", :locals => {:linkjob => o}

ここで、o は Linktype 型のローカル変数です。どちらの場合も、両方の変数に同じ情報が含まれています。唯一の違いは、その範囲です。

それでも、私が使用する場合

<b><%= linkjob.atext %></b>

パーシャルでは、2 番目のケースでは美しくレンダリングされますが、

undefined local variable or method `linkjob' for #<#<Class:0xab61db8>:0xab5a964>

最初の場合。

インスタンス変数をローカル変数に変換するか、何らかの方法でこの問題を解決する方法はありますか?

4

1 に答える 1

0

最初のビューを次のように変更してみてください

render :partial => "form_linktype_#{@linkjob.link_type}", :locals => {:linkjob =>  @linkjob || nil}
于 2011-05-19T18:52:16.117 に答える