0

ネストされたモデルの非表示の入力を生成する JavaScript を使用したフォームに取り組んでいます。次のようになります。

<!-- Attrs. inputs for nested model price -->
<button>Add price</button>

jscript は、フィールドを含むブートストラップ モーダルをポップアウトして、新しい価格の属性を渡し、次のような非表示の入力を生成します。

<input type="hidden" value="1" name="product[prices_attributes][0][quantity]">
<input type="hidden" value="123" name="product[prices_attributes][0][amount]">

つまり、コントローラーに送信する新しい価格ごとに、ID を生成する必要があります。問題は、ID を自分で設定する代わりに、コントローラーに ID を動的に生成させる方法はあるのでしょうか?

4

1 に答える 1

1

1 つの方法は、使用している の代わりに現在のタイムスタンプを取得する[0]ことです。実際、これは新しいオブジェクトの ID としては使用されません。ID は、レコードが DB に保存されるときに作成されます。使用しているこれらの「ID」は、さまざまなオブジェクトを識別するためにのみ使用されるため、一意である必要があるだけなので、タイムスタンプはそのための優れたソリューションです。

new Date().getTime();

この宝石を試すこともお勧めします: https://github.com/ryanb/nested_form

于 2012-10-13T20:23:20.563 に答える