0

저는 교사를 만들 수있는 양식이 있으며,이 양식에는 그들이 가르 칠 수있는 과목을 등록하고 관련 경험이있는 테이블이 있습니다.레일 폼은 같은 인스턴스에서 많은 행을 전송합니다.

하지만 모델, 컨트롤러 및보기에서이를 어떻게하는지 알지 못합니다. 내 선생님 양식에 중첩 된 필드를 추가하고 모델에서 nested_attributes를 사용하고 컨트롤러에서 허용하기 때문입니다. 하지만 난 ... 난 기능을 컨트롤러에서

모델

class Tutor < User 
    has_many :tutor_subjects 
    accepts_nested_attributes_for :tutor_subjects 
end 

.. 그것을 할 방법을 알고

def create 
    @tutor = Tutor.new(tutor_params) 
    @tutor.save 
end 

def tutor_params 
    params.require(:tutor).permit(:email, 
     :first_name, 
     :last_name, 
     :gender, 
     :password, 
     tutor_subjects_attributes: []) 
    end 
end 

그리고보기를 해달라고

= simple_form_for [:admin, @tutor] do |f| 
    = f.error_notification 
    .col-md-8.col-sm-12 
    .form-inputs 
     = f.input :email 
     = f.input :password 
     = f.input :first_name 
     = f.input :last_name 
     = f.input :gender, collection: {Male: 1, Female: 2}, include_blank: "--Select gender--" 

    %h2.well.well-sm Subjects 
    %table.table 
     %thead 
     %tr 
      %th Subject 
      %th Experience 
      %th Options 
     %tbody#subjects 
     = f.simple_fields_for :tutor_subjects_attributes do |s| 
      %tr.subject0 
      %td 
       = s.input :subject_id, collection: Subject.all, label: false, include_blank: "--Select subject--", input_html: { id: "tutor_subjects_attributes_0_subject_id", name: 'tutor[tutor_subjects_attributes][0][subject_id]', class: "subject" } 
      %td 
       = s.input :experience, as: :text, label: false, input_html: { placeholder: "Type your experience", name: 'tutor[tutor_subjects_attributes][0][experience]', id: "tutor_subjects_attributes_0_experience" } 
      %td.options 
    = link_to :add_subject, "#", id: "add_subject", class: "btn btn-small btn-info" 
+0

과 같아야입니까? 그것은 강력한 매개 변수 안에'tutor_subjects_attributes'를 가지고 있습니까? – Aleksey

+0

문제는 중첩 모델에 매개 변수를 저장하여 많은 행을 보내지 만 작동하지 않는다는 것입니다. – jacr1614

+0

아래에서 내 대답을 시도 했습니까? – Aleksey

답변

0

내가 확실하지 귀하의 질문을 이해하지만 중첩 된 특성에 대한 강력한 매개 변수를 다루는 데 문제가있는 것 같습니다.

귀하 그래서 뭐가 문제 tutor_params

def tutor_params 
    params.require(:tutor).permit(
    :email, 
    ... 
    tutor_subjects_attributes: [ 
     :subject_id, 
     :experience 
    ] 
) 
    end 
end