打印

rails中的路由

rails中的路由

关于配置rails中的路由,是不是添加了除CRUD之外的方法,都必须在routes.rb中配置路由啊。
配置路由的高级使用是不是嵌套?
还有url_for方法具体是怎么用啊?,书上说在controller和view中都可以使用,但是不知道该怎么用。。
有没有具体的例子啊?

TOP

从Rails1.2开始,我们不再需要通过map.connect来手动的配置REST路由,map.resources会帮我们搞定一切:

map.resources 'airports'

这句话将创建如下的路由规则:

    * 针对/airports/ 的POST请求将被路由到create方法
    * 针对/airports/1 的GET请求将被路由到show方法
    * 针对/airports/1的PUT请求被路由到update方法
    * 针对/airports/1 的DELETE请求被路由到destroy方法
    * 针对/airports/ 的GET请求被路由到index方法
    * 针对/airports/new 的GET请求被路由到new方法
    * 针对/airports/1;edit 的GET请求被路由到edit方法

    注意:最后一条逗号分隔的URL看起来很丑陋,但它们在Rails1.2.3中是合法的,不过不用苦恼,它们将在Rails2.0中被去除

上面这些信息希望能对你有帮助

关于url_for
复制内容到剪贴板
代码:
  url_for :controller => 'posts', :action => 'recent' # => 'proto://host.com/posts/recent'
  url_for :controller => 'posts', :action => 'index' # => 'proto://host.com/posts'
  url_for :controller => 'posts', :action => 'show', :id => 10 # => 'proto://host.com/posts/show/10'
API看看 应该就明白了

TOP

我知道url_for是这样写,就是不知道在controller和view中调用他。。
目前我都还没看到有在controller和view中使用url_for的,所以有点迷惑

TOP

某view中
复制内容到剪贴板
代码:
<%= url_for :controller=>"user",:action=>"index"%>
返回的是一个URL

不过这里指定的:controller 和 :action 应该是你自己的

TOP

引用:
原帖由 wzp2000 于 2008-7-17 13:32 发表
我知道url_for是这样写,就是不知道在controller和view中调用他。。
目前我都还没看到有在controller和view中使用url_for的,所以有点迷惑
其实在查文档学 Rails 的时候,顺手点一下 [Show Source] 链接看看源代码还是有帮助的。其实在你不知不觉使用 rails 的过程中,很多方法都被代理给 url_for 去根据 routes 生成 url,比如 link_to, form, image_tag, redirect_to 等等。可以这样说,基本上整个 rails 项目里面和 url 有关系的代码基本上都会使用到 url_for 方法
我就是鸡蛋黄……

TOP