0
私は多くの成分を持つレシートモデルを持っています。したがって、入れ子になったフォームにはネストされたフィールドにRailsの既存のデータをあらかじめ入力する方法はありますか?
gem "nested_form"
gem "cocoon"
を使用します。新しい成分(またはいくつかの成分)を作りながら、すべてがうまくいっています。しかし、編集中にこのフィールドに既存のデータをあらかじめ埋め込んでいます。
_form.html.slim
= f.fields_for :ingredients, [@receipt.ingredients.build] do |i|
= render 'ingredient_fields', f: i
= link_to_add_association 'Add ingredient', f, :ingredients, class: "btn btn-success"
br/
_ingredient_fields.html.slim
.nested-fields
.row
.form-group.col-xs-5
.field
= f.text_field :name, placeholder: "Name", class: "form-control"
.form-group.col-xs-3
.field
= f.number_field :count, placeholder: "Count", class: "form-control"
.form-group.col-xs-3
.field
= f.select :count_name, [['gr', 'gr'], ['kg', 'kg']], placeholder: "count name", class: "form-control"
= link_to_remove_association image_tag("/close.png"), f
これは、フォームあなたに
def edit
@ingredients = @receipt.ingredients
end
あなたingredients_controllerを投稿してもらえますか?通常は、編集アクションで '@ingredient = Ingredient.find(params [:id])'を実行します。これで、そのIDに関連付けられたすべての成分と成分_fieldsが見つかりました – ThorTL67
@ ThorTL67編集しましたが、それは領収書コントローラです。 –