为什么我的控制器参数总是从多选字段中获得单个值?

时间:2011-01-21 10:44:01

标签: 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.submit "Get"

当我提交表单时,应用程序调用控制器的render_datas方法:

class DatasController < ApplicationController
  def render_datas

    selected = params[:cars]

    # I always get the last clicked car item

    puts selected.to_s 

  end
end

从rails控制台,我看到params保持汽车哈希,但它始终保持最后一个鼠标点击项目,而不是多个选定的数组,为什么???如何摆脱它?

1 个答案:

答案 0 :(得分:1)

我认为您的multiple选项应为:multiple => true