0

まず、私は ActiveRecord ではなく Sequel を使用しているため、多くのヘルパーbuildが利用できません。

私はこのようなことをしたい:

model.children_models.each do |child_model|
  semantic_fields_for child_model do |f|
    f.input ...
  end
end

残念ながら、次の 2 つの問題が発生します。

  1. 入力フィールドはすべて同じ名前であるため、互いに上書きされます。私は手動で次のようなことを行いsemantic_fields_for "child_model[1]"、コントローラーでこれを処理するロジックを持つことでこれを回避しました

  2. 子モデル フィールドのインライン フォーム エラーを修正する方法がわかりません。

助言がありますか?

4

1 に答える 1

0

理解した。

この Sequel プラグインを使用する必要があります: http://sequel.rubyforge.org/rdoc-plugins/classes/Sequel/Plugins/NestedAttributes.html

plugin :nested_attributes
nested_attributes :children_models

次に、次のようにします。

model.children_models.each do |child_model|
  semantic_fields_for :children_models, child_model do |f|
    f.input ...
  end
end

Sequel がフォームと対話する方法にはいくつかの癖がありますが、ほとんどは読むことで理解できます。

于 2013-06-12T01:31:27.333 に答える