2017-03-08 9 views
1

중첩 속성에 대한 필드의 하위 섹션을 만들기 위해 fields_for를 사용할 수 있음을 알고 있습니다. 그러나 양식을 통해 나누고 싶습니다. 어떻게해야합니까? 나는 다음과 같이 중첩 된 바 모델과 모델 foo에 있다고 가정레일 - 양식을 통해 중첩 된 속성을 분할하는 방법?

가 :

<%= form_for @foo do |f| %> 
    <!-- foo fields --> 

    <%= f.fields_for :bars do |f_bar| %> 
    <!-- bar fields --> 
    <% end %> 

    <%= f.submit "Submit" %> 
<% end %> 
:

class Foo < ApplicationRecord 
    has_many :bars 
    accepts_nested_attributes_for :bars 
end 

일반보기이 같은 것 예를 들어

그러나 미학적인 이유로, 나는 한 곳에서 응축 된 모든 bars을 원하지 않습니다. 나는 모든 bars 한 번에 표시하지 않은 경우 그래서 나를 위해 완벽 할 것

<%= form_for @foo do |f| %> 
    <!-- foo fields --> 

    <%= f.fields_for :bars do |f_bar| %> 
    <!-- bar fields of one bar --> 
    <% end %> 

    <!-- other foo fields --> 

    <%= f.fields_for :bars do |f_bar| %> 
    <!-- bar fields of another bar --> 
    <% end %> 

    <!-- The previous repeats many more times in a non predictable way --> 

    <%= f.submit "Submit" %> 
<% end %> 

: 내가 좋아하는 일을하고 싶습니다. 누가 그걸 어떻게 알아?

+1

당신이 그것을 시도? –

+0

'@ foo'로했던 것처럼 인스턴스 변수를 전달해볼 수 있습니다. 단일 막대를 인스턴스 변수로 필터링하고보기에서 사용할 수있는 컨트롤러의 다른 변수에 둡니다. – vee

+0

단일 변수의 수가 결정되지 않습니다. 이것은 단지 예입니다 .. –

답변