テンプレートで実行される render :partial 呼び出しで、Rails がコントローラーのインスタンス変数を上書きするケースはありますか? たとえば、次のようにします。
コントローラ
def my_action
@widget = Widget.find(params[:id])
end
my_action.html.erb を見る
Hi there.
<%= render :partial => 'my_helper' %>
That's it, that's all.
ビュー_my
_helper.html.erb
The id is <%= @widget.id.to_s %>.
@widget が my_helper で使用されたときに nil になるという文書化されたシナリオ (バグまたは設計によるもの) はありますか? アプリケーションでこの動作が見られますが、そのソースを突き止めることができませんでした。
いくつかの注意事項:
* アプリは Rails 2.1.1 で実行されています。
* render :partial => my_helper 呼び出しにローカルを割り当てることは可能ですが、多くの理由から、この場合ローカルは理想的ではありません。
* ActionController と ActionView をふるいにかけるのにかなりの時間を費やしましたが、動作を分離することはできませんでした。