2012-12-11 1 views
0

나는 내가 양식 작업이 있으면 나의 activties/_form.html.erb중첩 된 필드

, 내가 을 클릭하면 양식을 보여주는 계획입니다에 새 위치를 만들 필드의 집합을 만들려면 새로운 belongs_to의 레코드를 만들려면 다른 위치 단추 또는 선택 위치 선택 상자에 추가 옵션을 추가하십시오.

지금까지 이야기 :

<%= f.fields_for :location do |builder| %> 
<%= render 'location_fields', :f => builder %> 
<%= builder.hidden_field :provider_id, :value => @provider.id %> 
<% end %> 

이 activity.rb

문제가
attr_accessible :name, :price, :location, :location_attributes 
accepts_nested_attributes_for :location 

는,이 모두가 너무 잘 조금 작동

_form.html.erb . 활동 레코드를 편집 할 때 위치 필드는 연관된 위치 레코드로 미리 채워집니다.

공백 양식을 만들어서 새 위치가 항상 만들어지고 활동과 연관되도록해야합니까?

답변

0

기존 데이터가없는 "새"위치를 만들어야합니다. 그러면이 양식에서 사용됩니다. 예를 들어

: 컨트롤러

@new_location = Location.new 

에서 그런 다음이 위치 객체 부분을 호출 할 수 있습니다.

필드에 표시되는 위치는 아마도 이미 활동과 관련이있는 위치 일 것입니다. 그것은 당신이 당신의 컨트롤러에 가지고있는 것에 달려 있습니다.

@activity.location.build 

을 다음보기에서 수행합니다 :

또한 중첩 된 속성을 시도 할 수 있습니다

<%= f.fields_for :location do |builder| %> 
    <%= builder.label :name %><br/> 
    <%= builder.text_field :name %> 
<% end %> 
+0

감사합니다. 예를 들면? 당신의 대답은 끊어 졌습니까? – Will

+0

아, 그래, 나는 그것을 시도했다. 다음보기에서 : <% = f.fields_for @new_location do | builder | %>하지만 위치가 예상됩니다 (# 2192237980). ActiveSupport :: HashWithIndifferentAccess – Will

+0

업데이트 된 답변을 다른 방법으로 시도해보십시오. –