用Rails建立了一个新的程序,其中在config/routes.rb定义了如下路径:
map.connect '/:platform/:product/:limit/versions/latest', :controller => 'versions', :action => 'get_versions'
当传入的:platform或者:product包含有.的时候(),会发生错误No route matches.
查询了一下URL的规范,.(period)属于合法支持的字符不需要转义,所以不能被正常识别的原因,应为rails的routes, 在网上搜索了一番,终于找到解决方案,在config/routes.rb中增加一行:
ActionController::Routing::SEPARATORS = %w( / ; , ? )
|
重新启动服务后生效,再次访问时候不会出现错误。
原帖地址:
阅读(945) | 评论(0) | 转发(0) |