小编Sup*_*ish的帖子

view_context 在 Rails 3 视图中不再可用吗?

在我当前的 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)

jquery ruby-on-rails-3 ruby-on-rails-3.1

3
推荐指数
1
解决办法
2969
查看次数