2011-03-10 5 views
0

내 의도는 한 가지 형태로 와인 제품 및 관련 어워드/리뷰를 편집하는 것입니다. 따라서 "http://mydomain.com/wines/cab-sauv/edit"페이지로 이동하면 이름, 연도 등을 편집 할 수있는 양식이 표시됩니다. 또한 상 및 리뷰 목록을 생성하여 각 수상 및 리뷰를 추가/제거/편집 할 수 있습니다. 와인 저장은 자동으로 보너스와 리뷰를 저장/업데이트/삭제합니다.RoR 양식의 중첩 된 리소스에 대해 혼동을 겪었습니다.

중첩 된 개체 (수상 및 리뷰)에 대한 양식을 생성하는 데 문제가 있습니다.

<% form_for @wine do |w| %> 
    Stock: <%= w.text_field :stock, :size => 12 %> 
    <% @wine.awards.each do |awd| %> 
     Award: <%= w.select ???, @medals %> 
    <% end %> 
<% end %> 

I는 형태에 관해서 정말 중첩 된 자원을 얻고 있지하는 것은 해요 : 다음은 내가 현재 할 시도하고있는 무슨의 변형 예이다. 내가 경로에서해야 할 일이 있습니까?

답변

2

accepts_nested_attributes_for :awards 

너무 중첩 된 자원이 우수한 튜토리얼을 읽을 수 있습니다, 당신이 어딘가에이 줄을 전화 확인, 파일 응용 프로그램/모델/wine.rb이 대신

<% form_for @wine do |w| %> 
    Stock: <%= w.text_field :stock, :size => 12 %> 
    <% w.fields_for :awards do |awd| %> 
    Award: <%= awd.select :awd_field_name, @medals %> 
    <% end %> 
<% end %> 

시도 . http://ryandaigle.com/articles/2009/2/1/what-s-new-in-edge-rails-nested-attributes. 행운을 빕니다!

+0

우수! 이것과 관련된 또 다른 질문에, 모든 메달 유형의 목록을 저장하는 DB 집약적 인 방법은 무엇입니까? 현재 컨트롤러에서 "@medals = Medal.all"쿼리를 수행합니다 ... – JakeTheSnake

+0

Medal, Award 및 Wine 간의 관계를 기술 할 수 있습니까? – RubyFanatic

+0

와인은 많은 상을 가지고 있습니다 ...상은 하나의 메달을 가지고 있으며, 와인에 속합니다 ... 메달은 많은 상을 가지고 있습니다. – JakeTheSnake

관련 문제