2015-01-13 4 views
0

마크 컨트롤러에 새로운 작업이 있습니다. 사용자가 '새 마크'를 클릭하면 해당 학생의 논문 목록이 포함 된 양식을 표시해야합니다. 그리고 각 논문에는 사용자가 선택해야하는 옵션 목록이 있습니다. 모델 사이formtastic - 양식 필드에 has_many가있는 객체 배열

협회는 다음과 같습니다 @ 마크의 형태에서

Mark.rb 

belongs_to :paper 


paper.rb 

has_many :options 

Option.rb 

    belongs_to :paper 

, 나는 'formtastic'를 사용하여 모든 서류와 옵션의 목록을 표시해야합니다.

내가하고 시도,

<% @array_papers.each do |paper| %> 
    <% options = paper.options %> 

    <%= semantic_form_for paper, url:thinking_marks_path(student_id: @student.id) do |form| %> 
     <li class="each-question"> 
      <%= form.input :paper, label: "{paper[:name]}" %> 
      <%= semantic_fields_for :options, paper.object.options do |option| %> 
      <%= option.input :option, as: :check_boxes %> 
      <% end %> 


     </li> 
    <% end %> 

    </ul> 

    <p> <%= link_to 'Save',thinking_marks_path(student_id: @student.id), :class => 'simple-button course-type' %> 
    </p> 

<% end %> 

그러나 오류 던지고있다 :

undefined method `option' for #<Paper:0x0000000fe6d3e0> 

어떻게해야합니까?

답변

0

form 변수는 paper 개체의 형식입니다.

양식 변수의 이름을 더 잘 지정하는 것이 좋습니다. paper_formoption_form.

이 코드는 작동합니다 :

<%= semantic_fields_for :options, paper.object.options do |option_form| %> 
    <%= option_form.input :option, as: :check_boxes %> 
    <% end %>