Ruby on rails 如何使用选择框将表单提交到正确的url?[第3条]

Ruby on rails 如何使用选择框将表单提交到正确的url?[第3条],ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我希望表单提交到的url遵循此模式 /tournaments/:id/matches 在我的应用程序中,我可以成功构建一个href,该href与这一行一起出现 a.btn.btn-success href=url_for(controller: :tournaments, action: :matches, id: tournament.id) Button text 这是我的表格(使用slim) 表单代码使用选择框正确构造表单。但当我在这个url时: /tournaments/4/matc

我希望表单提交到的url遵循此模式

/tournaments/:id/matches
在我的应用程序中,我可以成功构建一个href,该href与这一行一起出现

a.btn.btn-success href=url_for(controller: :tournaments, action: :matches, id: tournament.id) Button text
这是我的表格(使用slim)

表单代码使用选择框正确构造表单。但当我在这个url时:

/tournaments/4/matches
并提交选择了选项6的表单,它会将我发送到此url

/tournaments/4/matches?utf8=%E2%9C%93&id=6
id=6在查询部分中。我想让我的表格提交给:

/tournaments/6/matches
我如何构建我的表单以使其工作

我正在运行ruby 1.9.3和rails 3.2.11

我的路线

resources :tournaments do
  get 'matches', :on => :member 

如果必须指定
/tournaments/:id/matches

您可以在选择锦标赛时触发事件并修改表单的url

$(function(){
    $('select#id').change(function(){        
        $('form').attr('url', '/tournaments/'+$(this).val()+'/matches');
    });
});

或者您可以定义一条路径,如
get'tournaments/matches'
。只需将id放入参数列表

$(function(){
    $('select#id').change(function(){        
        $('form').attr('url', '/tournaments/'+$(this).val()+'/matches');
    });
});