Sinatra でネストされたフォームを記述しようとしています。モデル フィールドとしていくつかの値を簡単に渡すことができます。
id="user[name]"
しかし、関連するモデルも提出したい場合はどうすればよいでしょうか? ユーザーと彼の 3 つの趣味を同時に追加したいとします。それらをparamsに渡す方法は?
Sinatra でネストされたフォームを記述しようとしています。モデル フィールドとしていくつかの値を簡単に渡すことができます。
id="user[name]"
しかし、関連するモデルも提出したい場合はどうすればよいでしょうか? ユーザーと彼の 3 つの趣味を同時に追加したいとします。それらをparamsに渡す方法は?
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"}}}}