Ruby on rails 为什么我的控制器参数总是从多个选择字段中获取单个值?
我在表单中定义了多个选择字段: index.html.hamlRuby on rails 为什么我的控制器参数总是从多个选择字段中获取单个值?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我在表单中定义了多个选择字段: index.html.haml =form_for :mydata, {:url=>"/datas/render_datas", :method=>:post} do |form| =select_tag('cars',options_from_collection_for_select(@cars, 'id', 'name'), {:multiple=>'multiple', :class=>'cars'}) = ...
=form_for :mydata, {:url=>"/datas/render_datas", :method=>:post} do |form|
=select_tag('cars',options_from_collection_for_select(@cars, 'id', 'name'), {:multiple=>'multiple', :class=>'cars'})
= ...
=form.submit "Get"
当我提交表单时,应用程序调用控制器的render\u data
方法:
class DatasController < ApplicationController
def render_datas
selected = params[:cars]
# I always get the last clicked car item
puts selected.to_s
end
end
class DatasController
从rails控制台,我看到params保存cars散列,但它总是保存最后一个鼠标单击的项目,而不是多个选定数组,为什么???如何摆脱它?我认为您的
多个
选项应该是:多个=>正确的