是否存在 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 %>.
在 my_helper 中使用 @widget 时,是否有任何记录在案的场景(错误或设计)?我在应用程序中看到了这种行为,但无法追踪其来源。
一些注意事项:
* 该应用程序在 Rails 2.1.1 中运行。
* 虽然可以将局部变量分配给渲染 :partial => my_helper 调用,但由于多种原因,局部变量在这种情况下并不理想。
* 我花了很多时间筛选 ActionController 和 ActionView,但无法隔离行为。