의 값의 집합 나는 모델이 : 나는 사용자가 (추가 할 수 있습니다 이미 휴대폰 1 또는 5있을 수 있습니다 (50) 전화 #S을 구축하고자formtastic - accepts_nested_attributes_for
class Contact < ActiveRecord::Base
has_many :phones
accepts_nested_attributes_for :phones
end
을,하지만 난 항상 사용할 수 (50)를 원하는 내 컨트롤러에서) : 내보기에서
while contact.phones.length < 50
contact.phones.build({:phone_type_id => PhoneType['a_cool_type'].id})
end
, 내가 전화 #S 25 행 각
<%= semantic_form_for contact do |form| %>
<table width=50%>
<%= form.inputs :for => :phones[0..25] do |phone_form| %>
<td align="center"><%= phone_form.input :number, :label => false %></td>
....
<% end %>
</table>
<table width=50%>
<%= form.inputs :for => :phones[25..49] do |phone_form| %>
<td align="center"><%= phone_form.input :number, :label => false %></td>
....
<% end %>
</table>
<%end %>
를 2 열을 갖고 싶어3210
분명히 선 :
<%= form.inputs :for => :phones[25..49] do |phone_form| %>
이 작동하지 않습니다,하지만 내 의도를 (I 희망) 전달한다. formtastic이 기본 객체 연결을 잡는 방법에 대해 더 많은 제어권을 갖고 싶습니다.
다음은 작동하지만 멋진 CSS가 없으면 두 열을 쉽게 처리 할 수 없습니다.
<%= form.inputs :for => :phones do |phone_form| %>
의견이 있으십니까?
---------- 업데이트 ----
나는 로터리 방식으로이 문제를 해결 얻을 수있었습니다 : 그럴 연락처로 전화 #S 별도의 목록을 만들었습니다. phones.build하지만 Phone.new (: contact_id => contact.id)과 목록에있는 저장라는 @new_phones는
그런 다음 내 양식은 다음과 같습니다
<%= semantic_form_for @contact, :url => ..., do |f| %>
<% @new_phones[0...25].each_with_index do |phone, i| %>
<%= f.fields_for :phones, phone, :child_index => i do |phone_form| %>
<%= render "phone_fields", {:phone_form => phone_form, :phone => phone} %>
<%end%>
<% end %>
....
<% @new_phones[25...50].each_with_index do |phone, i| %>
<%= f.fields_for :phones, phone, :child_index => i+25 do |phone_form| %>
<%= render "phone_fields", {:phone_form => phone_form, :phone => phone} %>
<%end%>
<% end %>
<%end%>
이 날 (25)을 표시 할 수 페이지의 한 부분에있는 전화기와 다른쪽에있는 25 개의 전화기, nested_attributes_for : ex 전의 전화기 양식 제출시 pected.
나는 로터리 방식으로 필요한 것을 성취 할 수있었습니다. –