论坛首页 编程语言技术论坛

用map.connect 定义路由规则

浏览 3684 次
精华帖 (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的路由定义的位置放到默认规则的上方,测试通过了。biggrin

   发表时间:2008-01-12  
路由的规则都必须放在routes.rb中,当路由的规则变得很多的时候,特别是还有嵌套路由的时候,这个文件就变得很乱。当然可以通过GERNATE的方式自动生成,但对于诸如嵌套路由或需要自定义ACTION的情况就要手工修改了。这会使得整个开发过程变得不自然,至少是感到不爽。
不知大家对这个问题怎么理解,是怎么做的?
0 请登录后投票
   发表时间:2008-01-15  
可以定义多个路径定义路径,然后定义装载顺序吧?
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics