2013-11-01 2 views
0

프로필 has_many 작업이라는 모델이 있습니다. 나는 사용자가 프로파일을 만들 수있게하기 위해 누에 고치 보석을 사용하고 있으며, 별도의 페이지에서 그들이 원하는만큼 많은 일자리를 만든다. 프로필 양식이 잘 작동합니다. 그러나 직업 형태는 사실 직업을 창출하지 못하는 것 같습니다. 사용자가 작업 양식을 작성하기 전에 프로파일 양식을 작성해야하기 때문에 작업 양식에 도달 할 때까지 자동으로 작성 대신 프로파일 컨트롤러의 갱신 조치로 이동합니다. 나는 문제가 프로파일 컨트롤러에 있다고 확신한다. 여기 프로필 컨트롤러가 있습니다 :중첩 된 속성 양식이 레일에서 작동하지 않는 이유는 무엇입니까?

그렇지 않으면 프로파일을 찾을 수 없다는 오류가 발생했기 때문에 require 대신 fetch를 사용합니다. 여기 형태 :

<%= simple_form_for @profile do |f| %> 
    <h3> Jobs </h3> 
    <%= f.simple_fields_for :jobs do |job| %> 
    <%= render 'job_fields', :f => job %> 
     <% end %> 
    <%= link_to_add_association 'add job', f, :jobs %> 
    <%= f.submit %> 
<% end %> 

그리고 여기 job_fields 부분입니다 :

.nested-fields 
<%= f.input :firm, label: "Firm" %> <br> 
    <%= f.input :position, label: "Position" %> <br> 
    <%= f.input :category, label: "Category"%><br> 
    <%= f.input :begin, label: "Beginning", collection: 1960..2013 %><br> 
    <%= f.input :end, label: "End", collection: 1960..2013 %> 
    <%= f.input :description, label: "Description"%><br> 

    <%= link_to_remove_association "remove task", f %> 

문제는 또한 내가 ERB에 HAML에서 번역 일 수 있었다 그리고 내가 잘못했다 생각합니다.

또한 모든 프로필은 실제로 사용자에게 속하지만 실제로 그렇게해야한다고 생각하지 않습니다. 도움에 미리 감사드립니다!

답변

0

Jobs에 대해 create 메서드를 호출하려는 경우 post 메서드를 명시 적으로 사용하도록 양식을 수정해야합니다. 다음과 같음 :

<%= simple_form_for @profile, :url => new_jobs_path, :method => :post do |f| %> 
    <h3> Jobs </h3> 
    <%= f.simple_fields_for :jobs do |job| %> 
    <%= render 'job_fields', :f => job %> 
     <% end %> 
    <%= link_to_add_association 'add job', f, :jobs %> 
    <%= f.submit %> 
<% end %>