私はfields_forを使用してネストされた属性のフィールドのサブセクションを作成できることを理解しています。しかし、私はそれらのフォームを分割したいと思います。これどうやってするの?例えばRails - ネストされた属性をフォームで分割する方法
:
このように、私はネストされたバーモデルとモデルの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
を1か所で凝集させたくありません。私はすべての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
@foo.bars[counter]
を追加し、それは魔法のように働いたので、それはこのようなものでしたか? –'@ foo'のようにインスタンス変数を渡すことができます。単一のバーをインスタンス変数にフィルタリングし、ビューで使用できるコントローラ内の別の変数に置きます。 – vee
単一変数の数は決定されません。これは単なる例だった。 –