0

fields_for 블록이 orders 제어기 내 edit 뷰에레일 3.1 여기서 fields_for

<%= form_for @order do |f| %> 

    <%= f.fields_for :order_fields do |builder| %> 
     <%= builder.text_field :value %> 
    <% end %> 

    <% end %> 

오전 데 문제는 다음 루프의 정보를 표시하기 위하여 각각 루프를 사용하고자하지만 것입니다 폼이 두 번 이상 표시됩니다. 내가 accepts_nested_attributes_for :order_fields 문을 사용했기 때문입니다.

order_fields 테이블에는 양식에서 정보를 표시하고 싶은 name 열이 있습니다. 어떻게해야합니까? 내 데이터베이스의 value 열의 정보가 이미 내 양식에 표시됩니다.

내가 할 경우

<%= f.fields_for :order_fields do |builder| %> 
    <%= builder.text_field :name %> 
    <%= builder.text_field :value %> 
<% end %> 

가 서로 옆에 두 열에서 정보를 표시하지만 텍스트 상자 또는 아무것도에 있어야하지 :name 정보를 싶습니다. 나는 이것이 어떤 의미 : 감사합니다을 희망

<% @order.order_fields.each do |field| %> 
    <%= field.name %> 
<% end %> 

: 내가 좋아하는 뭔가를 할 것처럼 나는 그것이 표시하고 싶습니다.

답변

3

| builder | 오브젝트에서 액세스 할 수 있습니다. .object on을 호출하여

<%= f.fields_for :order_fields do |builder| %> 
    <%= builder.object.name %> 
    <%= builder.text_field :value %> 
<% end %>