浏览 3684 次
锁定老帖子 主题:用map.connect 定义路由规则
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-11
使用map.conncet来定义路由规则,在config /routes。rb文件中直接增加一个关于用户博客的路由规则
路由规则:routes。rb的代码 ActionController::Routing::Routes.draw do |map| # Allow downloading Web Service WSDL as a file with an extension # instead of a file named 'wsdl' map.connect ':controller/service.wsdl', :action => 'wsdl' # Install the default route as the lowest priority. map.connect ':controller/:action/:id.:format' map.connect ':controller/:action/:id' # blog map.connect "blog/:member", :controller => 'blog', :action =>'index' map.connect "blog/:member/:action", :controller => 'blog' map.connect "blog/admin/:member/:action", :controller => 'blog/admin' end 但在测试的时候,测试路由,http://localhost:3000/blog/testuser/,总是报出错误,testuser这个action请求无效,显然是没有识别这个路由规则。
但是我的路由规则定义没有错误,想到我定义的规则是特殊定义路径,那么rails判断的顺序应该是routes文件中顺序加载这些路由定义,首先应该匹配rails的默认路由定义,把关于blog的路由定义的位置放到默认规则的上方,测试通过了。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-01-12
路由的规则都必须放在routes.rb中,当路由的规则变得很多的时候,特别是还有嵌套路由的时候,这个文件就变得很乱。当然可以通过GERNATE的方式自动生成,但对于诸如嵌套路由或需要自定义ACTION的情况就要手工修改了。这会使得整个开发过程变得不自然,至少是感到不爽。
不知大家对这个问题怎么理解,是怎么做的? |
|
返回顶楼 | |
发表时间:2008-01-15
可以定义多个路径定义路径,然后定义装载顺序吧?
|
|
返回顶楼 | |