我们尝试在Sinatra中编写嵌套表单。我们可以轻松地将一些值作为模型字段传递:
id="user[name]"
但是,如果我们想要提交相关模型呢?假设我们想要同时添加用户和他的3个爱好。如何将它们传递给参数?
答案 0 :(得分: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"}}}}