Ruby on rails 抑制Rails路由中的文件扩展名检测/格式映射

Ruby on rails 抑制Rails路由中的文件扩展名检测/格式映射,ruby-on-rails,url-routing,Ruby On Rails,Url Routing,我有一个铁路路线的形式 get'/:collection/*files'=>“player#index” 其中,文件是以分号分隔的媒体文件列表,例如,/my collection/some video.mp4%3Bsome audio.mp3 这些由以下形式的控制器操作处理: class PlayerController < ApplicationController def index @collection = params[:collection] @files

我有一个铁路路线的形式

get'/:collection/*files'=>“player#index”
其中,
文件
是以分号分隔的媒体文件列表,例如,
/my collection/some video.mp4%3Bsome audio.mp3

这些由以下形式的控制器操作处理:

class PlayerController < ApplicationController
  def index
    @collection = params[:collection]
    @files = params[:files].split(';')
  end
end
这解决了没有路由匹配的问题,但是现在多个分离版本也会失败,因为缺少一个模板。(无论如何,这并不理想,因为我仍然希望在文件值中允许
/
。但是
/.*/
没有更好的效果。)

我尝试了
格式:false
,有和没有
约束
,但仍然发现缺少一个模板

我还尝试了一个普通的路径参数(
/:collection/:files
),得到了与通配符
*files
相同的行为

如何让Rails忽略并通过此路线的延伸



注意:我正在Ruby 2.5.1上使用Rails 6.0.0。

在讨论之后,神奇的公式似乎将
默认值:{format:'html'}
添加到
format:false

get'/:collection/:files',
致:“玩家#索引”,
格式:false,
默认值:{格式:'html'},
约束:{文件:/.*/}