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