发博文
沉默是金

sunqi.blog.chinaunix.net

Love exists,Hope is alive.Just waiting...   
个人资料
  • 博客访问:214648
  • 博文数量:41
  • 博客积分:2535
  • 博客等级:少校
  • 注册时间:2006-03-01 13:38:33
订阅我的博客
  • 订阅
  • 订阅到鲜果
  • 订阅到抓虾
  • 订阅到Google
字体大小: 博文
分类: Ruby/Rails开发


用Rails建立了一个新的程序,其中在config/routes.rb定义了如下路径:

map.connect '/:platform/:product/:limit/versions/latest', :controller => 'versions', :action => 'get_versions'

当传入的:platform或者:product包含有.的时候(http://localhost/Linux.W/Android.Google....),会发生错误No route matches.

查询了一下URL的规范,.(period)属于合法支持的字符不需要转义,所以不能被正常识别的原因,应为rails的routes, 在网上搜索了一番,终于找到解决方案,在config/routes.rb中增加一行:

ActionController::Routing::SEPARATORS = %w( / ; , ? )


重新启动服务后生效,再次访问时候不会出现错误。


亲,您还没有登录,请[登录][注册]后再进行评论