小さな会計システムを作ろうとしています。ここに私はいくつかの製品を持っています。毎月、各ユーザーが各製品を何個購入したかを書き留めたいと思います。
3 人のユーザーと 4 つの製品があるとします。左側にすべてのユーザー名が表示され、上部に製品が表示される 3 x 4 のテーブルが必要です。各フィールドで、ユーザーがその特定のアイテムを何個購入したかを書き込めるようにしたいと考えています。
次のことを試しましたが、フィールドは一意ではないため、最後のフィールドのみが送信されます。どのように進めればよいですか?
= simple_form_for(:lines, url: lines_url) do |f|
- @users.each do |user|
tr
td= user.name
- @products.each do |product|
td
= f.fields_for user do |u|
= u.fields_for product do |p|
= p.fields_for Line.new do |l|
= l.text_field :quantity
編集:
これも機能することがわかりましたが、かなりハックです:
= simple_form_for(:lines, url: lines_url) do |f|
- @users.each do |user|
tr
td= user.name
- @products.each do |product|
td
= text_field :lines, "#{user.id}][#{product.id}"
の に注意][
してくださいtext_field
。