2014-12-10 2 views
1

나는 어리석은 문제가 있습니다. 해결 방법을 모르겠습니다.Fields_for는 내가 업데이트 할 때마다 반복적으로 반복합니다.

메신저 fields_for을 사용하고 편집 할 때마다 빌드가 다시 완료되고 속성이 반복됩니다. 스폰서가 처음 생성/업데이트 된 경우에만 스폰서를 원합니다. 그렇지 않으면 스폰서가 업데이트되기를 바랍니다. Photo.friendly.find(params[:id]) 어떤 스폰서가있을 때

내보기

<%= f.input :sponsored %> 
<%= f.fields_for :sponsors do |sponsor| %> 
    <%= sponsor.input :name, placeholder: "Marca", label: "Marca(s)" %> 
    <%= sponsor.input :description, placeholder: "Descripción de la marca", label: "Descripción" %> 
    <%= sponsor.input :web, placeholder: "Web" %> 
    <%= sponsor.input :facebook, placeholder: "Facebook" %> 
    <%= sponsor.input :twitter, placeholder: "Twitter" %> 
    <%= sponsor.input :sponsored_avatar, placeholder: "Avatar" %> 
<% end %> 

사진 컨트롤러

def edit 
    @photo = Photo.friendly.find(params[:id]) 
    @photo.sponsors.build 
end 

감사

답변

1

코드의 포인트는, 이미 생성 된 다음 때 당신에게 @photo.sponsors.build , 빈 스폰서를 추가하려고합니다. 당신이 Photo.friendly 스폰서가없는 경우에만 빌드해야합니다, 나는 이것이 당신을 도울 수 있다고 생각합니다.

def edit 
    @photo = Photo.friendly.find(params[:id]) 
    @photo.sponsors.build unless @photo.sponsors.any? 
end 
+0

감사합니다. @ rderoldan1, 근무. – Gibson

+0

니스 !! @ 깁슨 – rderoldan1

관련 문제