【问题标题】:Ruby on Rails: Multiple Same Input Fields in Same FormRuby on Rails:相同形式的多个相同输入字段
【发布时间】:2011-12-19 03:44:46
【问题描述】:

有一个页面,其中包含同一事物的多个输入字段,即帖子。现在,当用户输入一个问题时,比如说 3 个字段,唯一保存到数据库的就是最后一个。然而,它应该保存所有三个并给他们每个它自己的 post_id。还;如果用户没有为其他字段输入任何内容,它也不应该保存在数据库中。

<%= form_for(@post) do |f| %>
  <%= f.text_field :content %>
  <%= f.text_field :content %>
  <%= f.text_field :content %>
<% end %>

【问题讨论】:

  • 您想从一个表单中创建 3 个不同的帖子?
  • 首席 - 是的,我想是的。或者我应该为每个创建一个新表单?并在同一视图页面上显示 3 个表单?

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1


【解决方案1】:

它失败了,因为您在上面得到的评估结果是 具有相同名称/id 的 html 字段,并且浏览器只会发布其中一个的值。如果它们是不同的字段,那么您需要为它们提供唯一的名称/ID 您需要将它们创建为一个数组,例如:

  <%= f.text_field_tag 'content_array[]' %>

或者,如果您希望这些是一组 帖子 - 您需要使用自定义表单添加多个子表单(每个帖子一个)。

【讨论】:

  • 我听从了您对我正在做什么的建议,如何在我的 show.html 中显示视图。我的 show.html 无法识别 'content_array[]'
  • 告诉我你尝试过的代码和你得到的错误信息(编辑你上面的答案并把它放在那里)。
  • 一个小修正。浏览器确实发布了所有不同的字段。然而,rails 参数解析器将使用姓氏的值。您可以通过检查您的 rails 代码中的 request.body 来检查这一点。
猜你喜欢
  • 2019-06-18
  • 1970-01-01
  • 1970-01-01
  • 2014-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多