fields_for
がActiveRecord以外のモデルの配列属性で機能するのに問題があります。form_for非ARモデル - fields_for配列属性が反復しない
がダウンして蒸留、私は次のようにあります。
モデル/ parent.rb
class Parent
extend ActiveModel::Naming
include ActiveModel::Conversion
include ActiveModel::Validations
extend ActiveModel::Translation
attr_accessor :bars
end
コントローラ/ parent_controller.rb
def new_parent
@parent = Parent.new
@parent.bars = ["hello", "world"]
render 'new_parent'
end
ビュー/ new_parent.html.haml
= form_for @parent, :url => new_parent_path do |f|
= f.fields_for :bars, @parent.bars do |r|
= r.object.inspect
上記のコードでは、私のページに["hello", "world"]
が含まれています。つまり、bars
に割り当てられた配列で呼び出されたinspect
の結果です。 (@parent.bars
をfields_for
行から省略すると、nil
が表示されます)。
fields_for
をAR関連として動作させるにはどうすればよいですか?すなわち、bars
アレイのメンバーごとに1回ブロック内のコードを実行しますか?
これはありがとうございます。私は誰もこれをやろうとしていたとは思わなかった!ありがとう...たくさん! – Nitrodist