[Rails 常用插件简介]Routing Navigator

0:Routing Navigator 是什么
你了解Routes 了吗?你对
[code]map.home '',:controller=>'welcome'[/code]
了解吗?你知道它生成什么样的helper方法么?
这个呢?
[code]map.resources :forums[/code]
更复杂一点的呢?
[code]
map.resources :forums do |forum|
forum.resources :topics
end

map.namespace(:admin) do |admin|
admin.resources :forums
end
[/code]

Oh,My God,有导师吗?我需要指导一下... Routing Navigator 登场啦:)

1:安装
[code]
$ script/plugin source http://svn.techno-weenie.net/projects/plugins
$ script/plugin install routing_navigator
[/code]

或者直接安装
[code]
$ script/plugin install http://svn.techno-weenie.net/projects/plugins/routing_navigator
[/code]

2:配置
1:) Routing Navigator 在development下生效,默认是关闭的,所以,你得打开它
[code]
class ApplicationController < ActionController::Base
routing_navigator :on
[/code]

2:) 确认routing_navigator的js和css已经拷贝到你的public目录下,如果没有,请运行
[code]rake update_routing_navigator[/code]

[color=Red]注意:[/color] 你使用的是Edge Rails,请拷贝views下面的页面到app/views下面

3:) 在你的layout或者view里面添加如下的代码
<%= javascript_include_tag :defaults,'routing_navigator' %>
<%= stylesheet_link_tag 'routing_navigator' %>

好了,可以使用了

3:使用
启动server,打开页面,你会看到你已有的页面下会多了额外的信息,如下图
[img]http://mmm.iteye.com/upload/picture/pic/5040/27c1b77e-0f6e-4dda-a2d8-06424a3b44a6.gif[/img]

注:你可以直接访问 http://host:port/routing_navigator ,这里可以看到所有的信息

1:) Named Routes
[img]http://mmm.iteye.com/upload/picture/pic/5041/2ca79ac1-4f55-40c1-b0f3-79c2a0e540da.gif[/img]

3:) Routes
[img]http://mmm.iteye.com/upload/picture/pic/5042/a2a82869-448b-4e59-a370-cb13e0ff83ae.gif[/img]

4:) Recognize
我们试着在输入框中输入/login,会看到如下的信息
[code]{[:resource_key_chain]=>[], :controller=>"sessions", :action=>"new"}[/code]
right? yes!

5:) Generate
我们来试一下nested resource,输入
[code]
controller: topics
action: show
id: 1
forum_id: 1
[/code]
输出
[code]"/forums/1/topics/1"[/code]

太棒了

4:更多
你可以点击routing_navigator 查看所有的状态。
截两个图,部分,有兴趣,可以自己试试看看
[img]http://mmm.iteye.com/upload/picture/pic/5043/dafbad3a-325c-400b-8e6c-fe91d2214721.gif[/img]
[img]http://mmm.iteye.com/upload/picture/pic/5044/e75c41ea-5152-429c-ab4c-2617e5a670b0.gif[/img]

今天我就是用他来发现一个我的错误的。
在Rails1.2.3中,对于
[code]
map.resources :forums do |forum|
forum.resources :topics
end
[/code]
生成的是 [code]new_topic_path(@forum)[/code]
而在Edge Rails生成的是

[code]forum_new_topic_path(@from)[/code]
其他的类推,这里就不提了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值