Ruby on rails 3 从2个集合选择框向阵列发送数据
我有一个带有动作步骤2的控制器,它按所选类别收集所有设备。我的step2.html.erb看起来像:Ruby on rails 3 从2个集合选择框向阵列发送数据,ruby-on-rails-3,Ruby On Rails 3,我有一个带有动作步骤2的控制器,它按所选类别收集所有设备。我的step2.html.erb看起来像: <% form_for compare_comparision_path, :url => {:action => 'comparision'} do |f| %> <%= f.collection_select(:device, @devices, :id, :name, options ={:prompt => "Select"
<% form_for compare_comparision_path, :url => {:action => 'comparision'} do |f| %>
<%= f.collection_select(:device, @devices, :id, :name, options ={:prompt => "Select"}, :class=>'device') %>
</br>
<%= f.collection_select(:device, @devices, :id, :name, options ={:prompt => "Select"}, :class=>'device') %>
<%= f.submit 'ok' %>
<% end %>
{:action=>'comparison'}do | f |%>
“选择”},:类=>'device')%>
“选择”},:类=>'device')%>
我希望它允许用户选择两个设备,并在比较操作中将其发送到某个数组或变量。您可以这样做:
<% form_for compare_comparision_path, :url => {:action => 'comparision'} do |f| %>
<%= f.collection_select('device[]', @devices, :id, :name, options ={:prompt => "Select"}, :class=>'device') %>
</br>
<%= f.collection_select('device[]', @devices, :id, :name, options ={:prompt => "Select"}, :class=>'device') %>
<%= f.submit 'ok' %>
<% end %>
{:action=>'comparison'}do | f |%>
“选择”},:类=>'device')%>
“选择”},:类=>'device')%>
在控制器中,params[:device]中有一个数组,其中包含选定的值
或者,您可以将我的示例中的“device[]”替换为每个选择框的唯一名称(例如“Device1”和“device2”)
然后,您可以通过访问params[:device1]和params[:device2]来获取控制器中的选定值。通过您的示例,我正在获取请求参数:{“utf8”=>“ā”,“authenticity_token”=>“dqvhmzhri0tdvzofjqi8jdzq+p6FturXCApD/bYvYA=”,“/compare/comparison”=>{“device1”=>[nil],“commit”=>“palyginti”}