2012-09-25 6 views
1

사용자 모델, 번식 모델 및 애완 동물 모델이 있다고 가정 해 봅시다. 사용자는 다른 유형의 많은 애완 동물을 가질 것입니다. 나는이처럼 보이는 형태를 원하는 :동일한 모델의 많은 레코드를 편집하기위한 하나의 양식

[드롭 다운 애완 동물 이름을 선택하는 메뉴]

[새끼]

를 원하는 경우 이름을 편집하려면

[이름] <을 --- [ 사용자가 10 개 개의 서로 다른 애완 동물이있는 경우 연령]

[색상]

그래서, "애완 동물 이름을 선택 드롭 다운 메뉴의"에서 애완 동물의 열 이름이있을 것입니다. 사용자가 드롭 다운에서 이름을 선택하면 다른 필드가 미리 채워 져야합니다. 레코드를 삭제하거나 새 레코드를 추가하는 방법이 있기를 바랍니다.

내 본능은 양식을 반복하고, div로 감싸고, JS를 사용하여 어느 것이 표시되는지 제어합니다. 그것은 불필요하게 복잡하게 보입니다. 그게 정말로 최선의 방법인가요?

아마 사용자는 50 개가 넘는 레코드가 없습니다.

이 좋아, 그래서 나는이 조금 더 얻고 생각 :


편집 됨 추가 할 수 있습니다. 이것이 내가해야 할 일이다.

current_user.pets.each do 
    @pets = pets.find(#ID) 
end 

그런 다음 내보기에 내가이 있어야합니다 : 내 컨트롤러에서 나는 같은 것을해야

[Drop down of all pets] 

pets.each do 
    <div id=id class=hidden> 
    simple_form_for @pet_ID 
    </div> 
end 

다음 스크립트를이 드롭 다운에 화재 :

<script> 
Hide <div> with previous pet id 
    Show <div> with new pet id 
</script> 

그 railscasts에서 중첩 된 양식과 결합, 그렇지? 나는 신기한 실수를 저질렀 는가?

답변

1

Ryan Bates의 Railscasts를 확인하십시오. 중첩 된 컬렉션을 찾습니다.

http://railscasts.com/episodes/196-nested-model-form-part-1

http://railscasts.com/episodes/197-nested-model-form-part-2

그는이 일대 다른 컬렉션의 내부 중첩 모음에 대한 매우 간단한 솔루션을 제공합니다. Ryan은 대단합니다. Rails 개발에 대해 진지하게 생각한다면 그는 자신의 전체 비디오 라인에 대해 월 $ 9의 가치가 있습니다.

+0

더하기, 저에게 약간의 인터넷 검색 결과를 저장했습니다. –

+0

....................... –

+0

알았어. 알았어. 내가 편집을 확인하여 내가 theright trakc에 있는지 확인할 수 있습니까? –

관련 문제