ユーザーモデル、品種モデル、そしてペットモデルがあるとしましょう。ユーザーは、さまざまな品種のペットをたくさん飼うことになります。次のようなフォームが必要です。
[ペット名を選択するためのドロップダウンメニュー]
[名前]<---必要に応じて名前を編集します
[繁殖]
[年]
[色]
したがって、ユーザーが10種類のペットを飼っている場合、[ペット名を選択するためのドロップダウンメニュー]には10種類のペットの名前が表示されます。ユーザーがドロップダウンから名前を選択するときは、他のフィールドに事前に入力する必要があります。うまくいけば、レコードを削除したり、新しいレコードを追加したりする方法もあるでしょう。
私の本能は、フォームを繰り返し処理し、それらをdivでラップしてから、JSを使用して表示されるフォームを制御することです。しかし、それは不必要に複雑に思えます。それは本当にそれを行うための最良の方法ですか?
ユーザーはおそらく50を超えるレコードを持っていないでしょう。
追加するために編集:
わかりました、それで私はこれをもう少し得ていると思います。これが私がすべきことです。私のコントローラーには、次のようなものが必要です。
current_user.pets.each do
@pets = pets.find(#ID)
end
それから私の見解では、私は持っているべきです:
[Drop down of all pets]
pets.each do
<div id=id class=hidden>
simple_form_for @pet_ID
</div>
end
次に、ドロップダウンで起動するスクリプト:
<script>
Hide <div> with previous pet id
Show <div> with new pet id
</script>
それをrailscastsのネストされたフォームと組み合わせると、うまくいくはずですよね?ここで新人のミスを犯していますか?