0

Sinatra でネストされたフォームを記述しようとしています。モデル フィールドとしていくつかの値を簡単に渡すことができます。

id="user[name]"

しかし、関連するモデルも提出したい場合はどうすればよいでしょうか? ユーザーと彼の 3 つの趣味を同時に追加したいとします。それらをparamsに渡す方法は?

4

1 に答える 1

1

nameパラメータは、属性ではなく、属性に基づいてハッシュに変換されidます。

このハッシュにさらにフィールドを追加するには、それらをフォームに追加します。これらの構造と処理方法は実装に完全に依存しますが、投稿は次のように簡単です。

<form action="/route/to/post/to" method="POST">
  <input name="user[name]" id="user_name" type="text">
  <input name="user[hobbies][0][name]" type="text">
  <input name="user[hobbies][1][name]" type="text">
  <input name="user[hobbies][2][name]" type="text">
  <input type="submit">
</form>

戻ります:

{"user"=>{"name"=>"hiya", "hobbies"=>{"0"=>{"name"=>"1"}, "1"=>{"name"=>"2"}, "2"=>{"name"=>"3"}}}}
于 2013-03-29T16:15:43.923 に答える