我通过表单收集用户输入,并尝试将值组合到控制器中的数组变量中。
控制器
MyController < ApplicationController
def con_action
@array_var = Array.new(n)
@array_var[index] = params[:user_input]
end
end
视图
<%= form_for :doesntmatter do |f| %>
<%= f.text_field :user_input, placeholder: 'input for index 0'
<%= f.text_field :user_input, placeholder: 'input for index 1'
<% end %>
同样,array.size总是在变化,所以让它变得动态是理想的。
我编辑它所以更有意义,我的问题是我不知道数组的哪个索引:user_input属于并且需要让表单提供索引号
答案 0 :(得分:3)
在你看来,使用这个
<%= 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%>
然后在你的控制器中你会得到你想要的参数 使用to_i函数转换为整数
def con_action
@array_var = Array.new(n)
5.times do |n|
@array_var[n] = params['user_input_'+n.to_s]
end
end
P.S。确保你有mycontroller的路线#con_action