[Rails 常用插件简介]Routing Navigator

0:Routing Navigator 是什么
你了解Routes 了吗?你对
map.home '',:controller=>'welcome'

了解吗?你知道它生成什么样的helper方法么?
这个呢?
map.resources :forums

更复杂一点的呢?
    map.resources :forums do |forum|
        forum.resources :topics
    end

    map.namespace(:admin) do |admin|
        admin.resources :forums
    end


Oh,My God,有导师吗?我需要指导一下... Routing Navigator 登场啦:)
 
1:安装
$ script/plugin source http://svn.techno-weenie.net/projects/plugins
$ script/plugin install routing_navigator


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


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


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


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

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

好了,可以使用了

3:使用
启动server,打开页面,你会看到你已有的页面下会多了额外的信息,如下图


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

1:) Named Routes
[Rails 常用插件简介]Routing Navigator_第1张图片

3:) Routes
[Rails 常用插件简介]Routing Navigator_第2张图片

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

right? yes!

5:) Generate
我们来试一下nested resource,输入
controller: topics
action: show
id: 1
forum_id: 1

输出
"/forums/1/topics/1"


太棒了

4:更多
你可以点击routing_navigator 查看所有的状态。
截两个图,部分,有兴趣,可以自己试试看看
[Rails 常用插件简介]Routing Navigator_第3张图片
[Rails 常用插件简介]Routing Navigator_第4张图片

今天我就是用他来发现一个我的错误的。
在Rails1.2.3中,对于
    map.resources :forums do |forum|
        forum.resources :topics
    end

生成的是
new_topic_path(@forum)

而在Edge Rails生成的是

forum_new_topic_path(@from)

其他的类推,这里就不提了

你可能感兴趣的:(JavaScript,.net,SVN,css,Rails)