2013-01-14 4 views
0

두 개의 모델, 장소 및 콘서트가 있습니다. 콘서트는 공연장에 속하며 공연장에는 많은 콘서트가 있습니다. 내 모델에서 다음부모 모델의 값 설정

<%= form_for @concert do |f| %>  
     <%= f.label :venue_name, "Venue" %> 
     <%= f.text_field :venue_name %> 

:

def venue_name=(name) 
    self.venue = Venue.find_or_create_by_name(name) if name.present? 
    end 

이의 문제는, 나는 또한 추가 할 것입니다 내 양식에서 나는 사용자 정의 세터와 콘서트 장소를 설정하고, 형태는 같다 모델이 작성되고있는 경우는 모델에의 주소. 자녀의 형태로 가능합니까? 세터에게 이름과 주소를 모두 전달할 수 있습니까?

편집 : accepts_nested_attributes_for 사용하여 이동 한 아래의 댓글이 제안한 것처럼

. Ryan Bates는 여기에 멋진 스크린 캐스트가 있습니다 : http://railscasts.com/episodes/196-nested-model-form-revised 또는 문서도 좋습니다.

필자는이 전에 accepts_nested를 사용 했었지만 사물의 belongs_to쪽에 있기 때문에 고생했습니다. 내가 돌아 갔어요 지금 내 수정하면 사용자들은 것을 보여 주면이 예를 들어, 대신 concert.venue.build @ 일을, 사물의 belongs_to 측의 구문이 concert.build_venue

+1

[중첩 된 속성] (http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html)에 대한 작업처럼 들립니다. – Matchu

답변

0

@입니다 것입니다 귀하의 모델에 기호, 세미콜론 등에서 쉼표로 구분 된 이름과 주소를 추가 할 수 있습니다 당신은 정규식을 사용하여 그들 중 두 개를 분리하고 각각 별도로 삽입 할 수 있습니다.

이것은 추한 방법입니다.

관련 문제