最近在完善 天天笔记 的分享功能,遇到了一个url问题:
不知道该怎么匹配下划线?我改成中划线,发现是支持的。
我是这么配置的:
get 'doc/share/:randcode_:docid.html' => 'doc#share2'
但是,运行时发生异常:
ActionController::RoutingError (No route matches [GET] "/doc/share/f31f453dd356_147.html"):
后来,在 ruby-China 求助,最终摸索出来了。
解决了,加一个括号即可:
get 'doc/share/(:randcode)_:docid.html' => 'doc#share2'
解析结果:
Parameters: {"randcode"=>"f31f453dd356", "docid"=>"147"}