2
나는 다음과 같은 모델이 있습니다도움 3
class Address < ActiveRecord::Base
validates_presence_of :street, postal_code
end
class Person < ActiveRecord::Base
belongs_to :address
belongs_to :work_address, :class_name => 'Address'
accepts_nested_attributes_for :address, :work_address
def initialize(params={})
params[:address] = Address.new
params[:work_address] = Address.new
super
end
end
인격 만들려고 :
person = {
"address_attributes" => {:street => "foo", :postal_code => "45632-963"}
"work_address_attributes" => {:street => "bar", :postal_code => "45632-964"}
}
Person.create(person)
내가 주소 필드을 가진 사람 객체가 작성되었다가,하지만 work_adress 필드를 비어 있습니다. 내보기에서
p.work_address_attributes = {:street => "bar", :postal_code => "45632-964"}
을, 나는 다음과 같은 코드가 있습니다 :
<%= form_for(@person) do |form| %>
...
<%= form.fields_for :address do |address| %>
<%= address.text_field :street %>
<%= address.text_field :postal_code %>
<% end %>
<%= form.fields_for :work_address do |work_address| %>
<%= work_address.text_field :street %>
<%= work_address.text_field :postal_code %>
<% end %>
<%= form.submit %>
<% end %>
잘못 무엇입니까 내가하려고 할 때, 그것은 작동?
아니요. 내 주소 개체가 아무 것도 무시하지 않습니다. 솔루션 제안 괜찮아요. 나는 테스트했고, 생성자에서이 코드가 전혀 필요 없다고 결론 지었다. 그러나 제거 할 때'form.fields_for : address' 뷰 코드는 아무것도 렌더링하지 않습니다. 이 모든 솔루션? –
수정 사항에 질문에보기 코드를 추가 할 수 있습니까? –