ruby-on-rails – 使用IP地址结束Rails 2 URL会导致路由错误?
发布时间:2020-12-17 03:11:53 所属栏目:百科 来源:网络整理
导读:我正在尝试以 http://servername/find/by/CRITERION/VALUE格式构建URL CRITERION是一组有限的字符串,VALUE也是如此.麻烦的是,在某些情况下,VALUE需要是一个IP地址,这会导致我出现路由错误. 这是我的路线: map.find 'find/by/:criterion/:query',:controller
我正在尝试以
http://servername/find/by/CRITERION/VALUE格式构建URL
CRITERION是一组有限的字符串,VALUE也是如此.麻烦的是,在某些情况下,VALUE需要是一个IP地址,这会导致我出现路由错误. 这是我的路线: map.find 'find/by/:criterion/:query',:controller => "find",:action => "by" 而来自Mongrel日志的错误: Processing ApplicationController#index (for 127.0.0.1 at 2010-05-07 10:20:32) [GET] ActionController::RoutingError (No route matches "/find/by/ip/1.2.3.4" with {:method=>:get}): Rendering rescues/layout (not_found) 如果我访问/ find / by / foo / bar或/ find / by / foo / 1234我没有问题.我怀疑问题可能是Rails根据URL中的句点推断MIME类型,但我真的不知道如何禁用它.我试过传递一个:defaults => {:format => :html}到路线,但这导致Mongrel无法完全启动. 任何帮助赞赏! 解决方法
Route globbing工作了!
我的路线现在是: map.connect 'find/by/*query',:action => "by" 这会将/ find / by /后面的所有内容放入Array,params [:query],每个数组对象一个URL段.对于查询/find/by/ip/1.2.3.4,这看起来像: ["ip","1.2.3.4"] 所以我可以参考params [:query] [0]和params [:query] [1]. 如果有人有更好的方法,请发布! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读