использование has_many через рельсы динамических форм 4

Я хочу создать форму записи с динамическими формами. Но я не понимаю, что делаю неправильно

У меня проблемы с частичным _appointment_record_form_fields и с assign_controller.

Кто-нибудь может помочь мне исправить контроллер и вид?

Мои модели:

class Appointment < ActiveRecord::Base

  has_many   :appointment_record_forms, dependent: :destroy
  has_many   :record_forms, through: :appointment_record_forms

 accepts_nested_attributes_for  :appointment_record_forms, allow_destroy: true

end



 class AppointmentRecordForm < ActiveRecord::Base
  belongs_to :appointment
  belongs_to :record_form


  serialize :properties, Hash

  def validate_properties
    record_form.record_form_fields.each do |record_form_field|
      if record_form_field.required? && properties[record_form_field.name].blank?
        errors.add record_form_field.name, "must not be blank"
      end
    end
  end

end

class RecordForm < ActiveRecord::Base
    has_many :record_form_fields

    has_many :appointment_record_forms, dependent: :destroy
    has_many :appointments, through: :appointment_record_forms

    accepts_nested_attributes_for :record_form_fields, allow_destroy: true

end

class RecordFormField < ActiveRecord::Base
  belongs_to :record_form
end

Мой Контроллер

class AppointmentsController < ApplicationController
.
.
.
    def appointment_params
      params.require(:appointment).permit(:duration, :appointment_date, :patient_id, :doctor_id, 
                                           :record_forms => [:id, :name, :_destroy],
                                           :record_form_fields => [:id, :name, :field_type, :require, :record_form_id, :_destroy]) 
    end
end

Просмотры: просмотры / встреча / _form

...
  <%= f.fields_for :appointment_record_forms do |builder| %>
    <%= render 'appointment_record_form_fields', f: builder %>
  <% end %>
  <%= link_to_add_fields "Add Field", f, :appointment_record_forms %>
...

partial / _appointment_record_form_fields

 <fieldset> 
  <%= f.fields_for :properties, OpenStruct.new(@appointment_record_forms.properties) do    |builder| %>
    <% @appointment_record_forms.record_form.record_form_fields.each do |record_form_field| %>

      <%= render "appointments/fields/#{record_form_field.field_type}", record_form_field: record_form_field, f: builder %>
    <% end %>
  <% end %>

  <%= f.hidden_field :_destroy %>
  <%= link_to "remove", '#', class: "remove_fields" %>
</fieldset>

ТКС


person vinicius carvalho    schedule 22.06.2016    source источник
comment
Привет и добро пожаловать в Stack overflow. Большое спасибо за добавление вашего кода. Не могли бы вы немного прояснить проблему, с которой вы столкнулись. У меня проблема, это немного расплывчато. Что вы ожидаете увидеть? Что ты видишь вместо этого? что вы пытались заставить его работать и какие еще исследования вы провели? (мы не хотим дублировать ваши усилия)   -  person Taryn East    schedule 22.06.2016
comment
Привет, когда я создаю новую встречу, приложение должно позволять мне вводить несколько динамических форм (record_forms) и отображать его поля (record_form_fields). Значения для полей динамики должны быть исправлены в свойствах хэша. У меня проблемы с частичными _appointment_record_form_fields, с assign_controller и с _appointment_record_form_fields, которые не спасают и правильно отображают динамические формы.   -  person vinicius carvalho    schedule 22.06.2016
comment
Теперь я получаю сообщение об ошибке ActionView :: Template :: Error (undefined method 'properties' для nil: NilClass):   -  person vinicius carvalho    schedule 22.06.2016
comment
не спасает и не показывает правильно динамические формы. Вам необходимо отредактировать свой вопрос (не размещать здесь код в комментариях, потому что форматирование кода ужасно) и добавить пример этого. Покажите нам, какую информацию вы ввели. Покажите нам журналы сервера, в которых есть параметры, поступившие в контроллер. покажите нам, что отображается в формах, а затем сообщите нам, что вы ожидаете увидеть в формах.   -  person Taryn East    schedule 23.06.2016
comment
ActionView :: Template :: Error (неопределенный метод `properties 'для nil: NilClass Покажите нам полную трассировку стека ошибки (из журналов вашего сервера) (снова - отредактируйте свой вопрос и поместите его туда, не помещайте его в эти комментарии Не просто сообщайте нам об ошибке (то, что у вас есть выше), в ваших журналах будет около 20-30 строк с именами файлов ... скопируйте первую пару (вам не нужен полный набор, но вам определенно понадобятся первые несколько строк), потому что они расскажут нам, какой файл и какая строка кода вызывает ошибку. Вы сможете работать в обратном направлении, чтобы найти ошибку.   -  person Taryn East    schedule 23.06.2016
comment
Схема ›› Не включайте ссылки на внешние сайты в Stack Overflow. Здесь мы хотим, чтобы вопрос содержал полный набор информационных форумов по проблеме. Это связано с тем, что внешние ссылки устаревают, но мы хотим, чтобы наши вопросы оставались вечными - в случае, если у кого-то еще возникнет такая же проблема, они могут посмотреть ваш вопрос и наши ответы, и тогда им тоже могут помочь решить их проблему.   -  person Taryn East    schedule 23.06.2016