将参数数组从表单转换为字符串

时间:2010-10-17 15:48:51

标签: ruby-on-rails rails-routing

我有一个带有复选框的表单:

-form_tag filter_path(@page.permalink), :method => 'get' do |f|
  -ftype.producers.each do |producer|
    =check_box_tag "producers[]", producer.id, false        
    =label_tag producer.title
    %br
  =submit_tag 'Сортувати', :name => nil

当我发送请求时,它会发送一个带有producer.Link数组的哈希参数,然后看起来像这样:

'/pages/:page_id/filter?producers[]=4&producers[]=5'

我想让它看起来:

'/pages/:pages_id/filter?producers=4,5'

请帮忙

1 个答案:

答案 0 :(得分:0)

这应该不是问题,因为?producers[]=4&producers[]=5会被框架转换为params[:producers]数组,其值为[4, 5]
因此,您已经有了一个数组,甚至不需要解析任何内容。

但是如果你真的想在一个参数中提交两个输入值,你必须使用一些javascript。默认情况下,如果您在html表单中有两个具有相同名称的输入,则将提交两个独立的值(如您提供的示例网址)。
所以,这不是一个Rails问题,它是html和javascript问题。