특정 AJAX 요청에 따라 양식 요소를 생성하는 것을 시도하고 있습니다.부분에 ActionView :: Helpers :: FormBuilder 전달하기
보기 :
<%= link_to 'Next', check_unique_id_students_path, :remote => true %>
<div id="guardian_student_details"></div>
컨트롤러 :
def check_unique_id
@student = Student.new
@this_form = ActionView::Helpers::FormBuilder.new(:student, @student, @template, {}, proc{})
end
JS : 부분
jQuery("#guardian_student_details").html("<%=escape_javascript(render :partial => "student_details", :locals => { :s => @this_form }) %>");
:
,536,913이
내 설정이다 디버깅 목적을 위해 63,210<% puts s.text_field :first_name %>
<% puts s.field_helpers %>
내가 내 부분의 맨 처음에 다음 줄을 배치 :
<% puts s.class.to_s %>
<% puts s.object.to_s %>
이 출력합니다 :이 작업을해야
ActionView::Helpers::FormBuilder
Student
. 그러나 다음과 같은 오류를주고있다 레일 :
는ActionView::Template::Error (undefined method `text_field' for nil:NilClass):
1: <% puts s.class.to_s %>
2: <p>
3: <%= s.text_field :first_name, :class => 'text_input is_empty' %>
4: <%= s.label :first_name %><strong>*</strong>
5: </p>
6:
응용 프로그램/뷰/학생/_student_details.html.erb은 : 3 : "S"는 것을 NIL 뭔가를 의미 _app_views_students__student_details_html_erb__2485891544130782916_2214680440' app/views/students/check_unique_id.js.erb:2:in
_app_views_students_check_unique_id_js_erb__3504800328150418937_2214933160 '
에 난 그냥 2를 검증 줄을 전에. 아무도 아이디어가 있니? 나는 이것이 컨트롤러에서 초기화 된 "@template"변수와 관련이 있는지 알지 못한다. 나는 주변에서 놀았고 실질적으로 어떤 것도 받아 들였고 인쇄 된 것이라면 아무 것도받지 못했다. 도움이 될 것입니다. 감사합니다
최종 참고 :
내가이를 구현하려고 : AJAX update of accepts_nested_attributes_for partials
감사합니다. Alexandre, 저는이 방법이 유용하다는 것을 알고 있지만, FormBuilder를 사용하여 제안 된 방식으로 수행 할 수 있다면 제 기능이 크게 도움이 될 것입니다. – jalagrange
Rails 2.3 또는 3 이상입니까? @template 변수가 Rails 3에 있는지 확실하지 않습니다. 언급 한 AJAX 업데이트 게시물을 통해이 메소드를 게시 한 이후로 코드를 변경했습니다. 결국 기존 인덱스를 잡고 증가시키지 않고 http://media.pragprog.com/titles/fr_arr/multiple_models_one_form.pdf의 수정 된 버전을 사용했습니다 (특히 중첩을 확장하려는 경우 특히 손상되기 쉽습니다. 다른 수준). – Pasted
안녕 붙여 넣기, 이것은 레일 3.1입니다. 귀하의 의견과 링크에 감사드립니다. @template 대신 view_context를 사용하여 솔루션을 구현해 보았습니다. 다음과 같은 방식으로 중단됩니다. NameError : 정의되지 않은 로컬 변수 또는 main 메소드의'view_context '메소드 : Object – jalagrange