Sinatra表格输入的Id格式

时间:2013-03-29 15:23:37

标签: ruby sinatra erb nested-forms params

我们尝试在Sinatra中编写嵌套表单。我们可以轻松地将一些值作为模型字段传递:

id="user[name]"

但是,如果我们想要提交相关模型呢?假设我们想要同时添加用户和他的3个爱好。如何将它们传递给参数?

1 个答案:

答案 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"}}}}