Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Parameters_Ruby On Rails 5 - Fatal编程技术网

Ruby on rails 将参数传递给rails控制器中数组的索引

Ruby on rails 将参数传递给rails控制器中数组的索引,ruby-on-rails,arrays,parameters,ruby-on-rails-5,Ruby On Rails,Arrays,Parameters,Ruby On Rails 5,我正在通过表单收集用户输入,并尝试将这些值组合到控制器中的数组变量中 控制器 MyController < ApplicationController def con_action @array_var = Array.new(n) @array_var[index] = params[:user_input] end end MyController

我正在通过表单收集用户输入,并尝试将这些值组合到控制器中的数组变量中

控制器

MyController < ApplicationController
  def con_action
   @array_var = Array.new(n)
   @array_var[index] = params[:user_input]
  end
end
MyController
看法



在您的视图中,使用此

    <%= form_tag(controller: : MyController, action: : con_action) do %>
       <%5.time do |n|%>
    <%= text_field_tag "user_input_"+n.to_s, nil,placeholder: "something" %>
       <%end%>
    <%submit_tag%>
    <%end%>

另外,请确保您有mycontroller的发布路线,在您的视图中,使用此

    <%= form_tag(controller: : MyController, action: : con_action) do %>
       <%5.time do |n|%>
    <%= text_field_tag "user_input_"+n.to_s, nil,placeholder: "something" %>
       <%end%>
    <%submit_tag%>
    <%end%>

另外,请确保您有mycontroller#con_action的发布路线

谢谢,但我的问题是如何动态指定它是哪个索引。我并不总是知道要设置多少个索引,所以我不能将其硬编码到控制器中,例如
@array\U var[index]
U想要将索引作为用户的输入,对吗?不,对于这个示例:user\U input==“some string”,在controller
中,index
是一个我需要从表单传递的值。您所做的是每次提交表单时创建一个新数组。这就是你想要实现的吗?更新:是的,经过多次重新安排,我已经开始工作了。谢谢你,普拉纳夫!谢谢,但我的问题是如何指定它是动态的索引。我并不总是知道要设置多少个索引,所以我不能将其硬编码到控制器中,例如
@array\U var[index]
U想要将索引作为用户的输入,对吗?不,对于这个示例:user\U input==“some string”,在controller
中,index
是一个我需要从表单传递的值。您所做的是每次提交表单时创建一个新数组。这就是你想要实现的吗?更新:是的,经过多次重新安排,我已经开始工作了。谢谢你,普拉纳夫!
    def con_action
      @array_var = Array.new(n)
       5.times do |n|
       @array_var[n] = params['user_input_'+n.to_s]
      end
     end