Ruby on rails Rails 3将多个ID作为参数的自定义路由

Ruby on rails Rails 3将多个ID作为参数的自定义路由,ruby-on-rails,ruby-on-rails-3,rest,routes,custom-routes,Ruby On Rails,Ruby On Rails 3,Rest,Routes,Custom Routes,如何将路由添加到Rails 3应用程序中,该应用程序允许我在接受多个参数的RESTful资源中具有映射到操作的URL: /modelname/compare/1234,2938,40395 然后在我的控制器中,我想访问以下ID: @modelname = Modelname.find(params[:modelname_ids]) 到目前为止,我一直在尝试匹配”/modelname/compare/:modelname_id',:to=>“modelname#compare”,但我一直得到没

如何将路由添加到Rails 3应用程序中,该应用程序允许我在接受多个参数的RESTful资源中具有映射到操作的URL:

/modelname/compare/1234,2938,40395
然后在我的控制器中,我想访问以下ID:

@modelname = Modelname.find(params[:modelname_ids])

到目前为止,我一直在尝试匹配
”/modelname/compare/:modelname_id',:to=>“modelname#compare”
,但我一直得到
没有路径匹配/modelname/compare/4df632fd355be355770100005,4df632fd355be355770100005“
。有什么建议吗?

您可以设置与任何内容匹配的路由,然后在控制器内拆分参数:

resources :modelname do
  match 'compare/*path' => 'controller#compare_action'
end

# controller:
def compare_action
  @modelname = Modelname.find(params[:path].split(','))
end
它不应该是
拆分(',')