Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails-强参数-字符串数组列-表单 表单和控制器中的字符串数组_Ruby On Rails_Arrays_Activerecord_Strong Parameters_Ruby 2.3.1 - Fatal编程技术网

Ruby on rails Rails-强参数-字符串数组列-表单 表单和控制器中的字符串数组

Ruby on rails Rails-强参数-字符串数组列-表单 表单和控制器中的字符串数组,ruby-on-rails,arrays,activerecord,strong-parameters,ruby-2.3.1,Ruby On Rails,Arrays,Activerecord,Strong Parameters,Ruby 2.3.1,我正在使用Rails 5和Ruby 2.3.1 我很难弄清楚如何让表单允许我将字符串添加到一个模型的数组中,数组中的每个元素都有一个输入字段。为了更新现有记录,我希望此时数组中的每个元素都有一个单独的输入字段 我希望新记录的表单允许我为每个我决定添加的元素使用单独的输入字段向这个数组添加一个或多个元素 我该怎么办?我可以用jquery处理添加输入,但我不知道如何使用rails表单生成器类来完成这项工作 此列只是一个字符串数组 以下是当前不起作用的内容: <!-- _form.html.er

我正在使用Rails 5和Ruby 2.3.1

我很难弄清楚如何让表单允许我将字符串添加到一个模型的数组中,数组中的每个元素都有一个输入字段。为了更新现有记录,我希望此时数组中的每个元素都有一个单独的输入字段

我希望新记录的表单允许我为每个我决定添加的元素使用单独的输入字段向这个数组添加一个或多个元素

我该怎么办?我可以用jquery处理添加输入,但我不知道如何使用rails表单生成器类来完成这项工作

此列只是一个字符串数组

以下是当前不起作用的内容:

<!-- _form.html.erb -->
...
  <%= f.label :details %>
  <% @project.details&.each do |detail| %>
      <%= f.text_field :details, 
                       name: 'details[]', 
                       class: 'form-control', 
                       value: detail %>
  <% end %>
...
此时,如果我中断createcontroller操作并检查参数,则
params[:details]
对象具有我所期望的(字符串数组)。但是,如果我只是打印出
参数
允许的
为false,如果我打印出
东西参数
详细信息
不包括在散列中

有人知道我做错了什么吗


我还怀疑使用
名称:'details[]'
在形式上是错误的,我觉得如果我走得那么远,只有最后一个会出现…

难道你不喜欢整天试图解决一个问题吗,在你认输后花大量时间写一个stackoverflow问题,5分钟后才弄清楚吗?我当然喜欢

需要改变的是我在表格中的内容:

<!-- _form.html.erb -->
...
  <%= f.label :details %>
  <% @project.details&.each do |detail| %>
      <%= f.text_field :details, 
                       # name: 'details[]', (this is what I had before)
                       name: 'thing[details][]', 
                       class: 'form-control', 
                       value: detail %>
  <% end %>
...

...
...

你难道不喜欢整天试图解决一个问题吗?在你认输后,花大量时间写一个堆垛溢出问题,5分钟后才想出来吗?我当然喜欢

需要改变的是我在表格中的内容:

<!-- _form.html.erb -->
...
  <%= f.label :details %>
  <% @project.details&.each do |detail| %>
      <%= f.text_field :details, 
                       # name: 'details[]', (this is what I had before)
                       name: 'thing[details][]', 
                       class: 'form-control', 
                       value: detail %>
  <% end %>
...

...
...