나는 has_many
주소와 많은 전화 번호를 가진 회사 모델을 가지고있다.accepts_nested_attributes_for를 수정하는 방법은 무엇입니까?
주소 belong_to
회사 전화 번호 (들).
내 문제는 내가 edit
회사의 특정 주소 및 전화 번호를 이해하는 방법이 없다는 것입니다. 내 edit
행동
, 나는 (즉 @address = 일부 내가 원하는 특정 주소를 검색 범위) 한 다음 내 fields_for
I 참고 문헌이 아이의 속성에, 전 특정 레코드를 호출하고 인스턴스 변수에 할당 :
<%= f.fields_for :addresses, @address do |address| %>
)이 방법을 사용할지 잘 모르겠습니다. 편집을 위해 부모의 특정 하위 항목에 액세스하는 방법에 관한 문서는 드물습니다. 에서 겉으로는 다음 레코드 - update
는, 성공이 실패 할 때 내가보기가 부모의 현재의 아이 (I 내 edit
행동에 지정된 + 다른 어린이와 추가 필드를 제공 render :edit
경우이 잘 작동하지만
B) 선).
기본적으로 render :edit
을 호출하면 기본적으로 두 개의 자식으로 양식이 확장됩니다. 기묘한.
이 문제는 무엇입니까? 중첩 된 속성은 어떻게 작동합니까? 여러 개의 연관된 모델로 양식을 관리하는 더 좋은 방법이 있습니까?
감사합니다.
정확하게 따르고 있는지 잘 모르겠습니다. 주소를 수정하려고한다고 말하면 부모를 포함하는 양식을 통해 그렇게하고 있습니까 아니면 자체 양식으로 주소록을 편집하려고합니까? 나는 당신의 설명이 후자와 같다고 생각할 것이다. – miked
예, 편집 할 때 전체 중첩 세트를 편집하려고합니다. 내가 dmarucco에 남긴 의견보기. – Nathan
사실, 귀하의 의견을 몇 가지 생각 (그리고 fields_for 메서드에 대한 좀 더 연구) 후, 나는 fields_for 그 협회의 각 레코드를 통해 루프를 깨달았다. fields_for가 반복하는 전체 세트가 아닌 단일 레코드 만 선택하려고했습니다. 하지만 내가 당신의 의견을 더 많이 생각해봤을 때, 나는 실제로 루프를 원한다. 단일 주소 인스턴스 만 편집하려는 경우 별도의 양식을 작성할 수 있습니다. 그러나 중첩 된 기록으로, 저는 모든 아이들을 원합니다. 나는 그걸 처음에는 이해하지 못했습니다. 너무 나쁜 당신이 대답으로 게시하지 않았다 ;-) – Nathan