simple_fields_for
입력을 다른 객체의 데이터로 미리 채울 수 있습니까?simple_form으로 중첩 된 요소 미리 채우기
나는 User
개체를 가지고 있습니다. Backpack
많은 Pockets
을 가지고 User
has_one Backpack
, 그리고 Pocket
has_many 내 양식을 구축 할 때 내가 users#new
에있을 때, 내가 지금
<%= f.simple_fields_for :backpack do |backpack| %>
<%= render 'backpack', f:backpack %>
<% end %>
을 사용하고
Items
는 전체 형태는 비어 있습니다. 다른 Backpack
개체의 데이터로 Backpack
필드를 초기화하고 싶습니다. 가능합니까? 내 UsersController
이 함께
<%= f.simple_fields_for :backpack, @backpack do |backpack| %>
<%= render 'backpack', f:backpack %>
<% end %>
: :이 작업을 수행하여 시도
@user = User.new
@backpack = Backpack.find(1).deep_clone include: [ :pockets, { pockets: :items } ]
하지만이 작동하지 않습니다 어떤 이유로 Backpack
필드는 자신의 Pockets
과 Items
를 작성되지만, 비어 있습니다. 나는 내 마음에 온 모든 것을 시도했다. 중첩 된 객체에 대한 내 경로를 확인하고, deep_cloning의 유무에 관계없이 시도했지만, 여전히 중첩 된 객체는 어디에도 없습니다. 따라서, 미리 채워진 양식을 미리 초기화하여 양식을 초기화 할 수 있습니다. 모델?
편집 : 그것은 내가 성공적으로 배낭을 복제한다는 것을 의미 주머니 타이틀을 모두 표시하는
<% @backpack.pockets.each do |pocket| %>
<%= pocket.title %>
<% end %>
를 넣어,하지만 어떤 이유로, 그래서, 사용,
확인 이 :
<%= f.simple_fields_for :pockets, @backpack.pockets do |pocket| %>
<%= render 'pocket', f: pocket %>
<% end %>
아무것도 표시되지 않습니다.