-1

이 중첩 된 양식이 작동하지 않는 이유를 알 수 없습니다. Skill belongs_to 프로파일 및 프로파일 has_many 스킬.레일 중첩 된 양식이 있어야하는 매개 변수를 허용하지 않습니다.

: 여기

<%= form_for @profile do |f| %>    
     <%= f.fields_for :skill do |builder| %> 
       <%= builder.select :label, @crafts.collect {|craft| craft.label}, 
        {include_blank: true} %> 
     <% end %> 

     <%= f.submit "ADD +", :id => "clickme", :class => 'button button-add' %> 
<% end %> 

는 프로파일 컨트롤러에 강한 매개 변수입니다 : 여기

Parameters: {"utf8"=>"✓", "authenticity_token"=>"gdskfkjsdflkdjshgk", 
"profile"=>{"skill"=>{"label"=>"PHP"}}, "commit"=>"ADD +", "id"=>"134"} 

Unpermitted parameters: skill 

양식 코드 : 몇 가지 이유로 단절 로그는 양식을 제출 다음과 같은 오류를 표시

def edit 
    @profile = current_user.profile 
    @skill = Skill.new #field for new skill 
end 
: 여기

params.require(:profile).permit(skill_attributes: [:label, :id]) 
양식 조치에 대한 편집 컨트롤러 여기

프로파일 모델의 관련 부분입니다 :

class Profile < ActiveRecord::Base 
    has_many :skills 
    accepts_nested_attributes_for :skills, :allow_destroy => true 
end 

나는 "skill_attributes"를 사용하는 이유 : 나는 단지 하나 개의 기술을 한 번에 업데이트/생성 원하기 때문에 "f.fields_for 기술이" 복수형을 사용하면 페이지에 두 개의 입력이 배치됩니다.

+0

무엇이 최신입니까? – zeantsoi

+0

제공된 솔루션이 도움이되는지 여부에 따라 OP가 업데이트되지 않으면이 질문에 대한 downvote가 필요합니다. – zeantsoi

답변

0

양식 (기술)이 accepts_nested_attributes (skills_attributes)와 일치하지 않습니다. 당신이 생각하는 이것을 사용할 수 있습니다 :

= fields_for "profile[skills_attributes]" do |builder| 
관련 문제