Передача ActionView:: Помощники:: FormBuilder к частичному

я пытаюсь динамично создать элементы формы, учитывая определенный запрос Ajax.

Это - моя установка:

Представление:

    <%= link_to 'Next', check_unique_id_students_path, :remote => true %>

    

Контроллер:

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

Неравнодушный:

<% 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: 

3: <%= s.text_field :first_name, :class => 'text_input is_empty' %> 4: <%= s.label :first_name %>* 5:

6:

приложение/представления/студенты / _ student_details.html.erb:3:in _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'

, Который подразумевает, что "s" является NIL что-то, которое я проверил всего 2 строки прежде. У кого-либо есть какие-либо идеи? я не знаю, имеет ли это некоторое отношение к "@template" переменной, инициализированной в контроллере. С которым я играл вокруг и принимаю практически что-либо и, если распечатано являюсь нолем. Любая справка ценилась бы. Спасибо

Заключительное примечание:

я пытался реализовать это: обновление Ajax лучшего способа accepts_nested_attributes_for partials

7
задан Community 23 May 2017 в 12:06
поделиться