2011-10-13 3 views
2

현재 레일즈 3.0.9 앱에 내 view_context를 사용하여 몇개의 .js.erb 템플릿을 가지고있어서 아약스 요청 중에 fields_for를 호출 할 수 있습니다. 이것은 내가 아약스를 통해 중첩 된 속성 폼 필드를 만들도록했다. (# <에 대한 # 정의되지 않은 지역 변수 또는 메소드`view_context '0x1057b9f70>) :Rails 3 뷰에서 view_context를 더 이상 사용할 수 없습니까?

ActionView :: 템플릿 : 오류 :

이 제거되었다 그러나 3.1 레일로 업그레이드에 나는 다음과 오류를 받고 있어요/최근에 비추천? 부모 FormBuilder를 사용하지 않고도 중첩 된 fields_for 입력을 구현할 수있는 또 다른 방법이 있습니까? view_context 여전히 컨트롤러에서 사용할 수 있지만 보이는 레이어에서이 마크 업 생성을 유지하기를 바랬습니다.

내 .js.erb 템플릿은 api docs it is deprecated in >= 3에 따르면이

<% 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) %>"); 

답변

3

처럼 보였다. Source 3.0.9는 view_context에 대해 self를 반환했습니다. view_context없이 시도해도 효과가 있다고 생각합니다.

<% meal_item_fields = 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) %>"); 
-1

당신은 당신의 컨트롤러에 helper_method :view_context을 추가 할 수 있습니다.

관련 문제