在我当前的 Rails 3.0.9 应用程序中,我有一些 .js.erb 模板,它们在其中使用 view_context,因此我可以在 ajax 请求期间对其调用 fields_for。这让我可以通过 ajax 构建一些嵌套的属性表单字段。但是在升级到 Rails 3.1 后,我收到以下错误:
ActionView::Template::Error(#<#:0x1057b9f70> 的未定义局部变量或方法`view_context'):
这是最近被删除/弃用的吗?有没有另一种方法可以在没有父 FormBuilder 方便的情况下构建嵌套的 fields_for 输入?似乎 view_context 在控制器中仍然可用,但我希望在视图层中保留这个标记生成。
我的 .js.erb 模板看起来像这样
<% meal_item_fields = view_context.fields_for :meal_items, Meal.new.meal_items.new, :child_index => "new_meal_items" do |f|
render :partial => 'meal_items/meal_item_fields', :locals => {:meal_item_form => f}
end
%>
$("#meal-items").append("<%= escape_javascript(meal_item_fields) %>");
Run Code Online (Sandbox Code Playgroud)