我的HomeController有:我的路线有资源:家,但rspec说路由没有定义?
def about()
end
而且我有一个RSpec的测试,它GET“约”,也未能说没有匹配的路由。
没有这个映射所有行动控制器:
resources :home
或做我必须明确说明在家里控制器每个动作?
我的HomeController有:我的路线有资源:家,但rspec说路由没有定义?
def about()
end
而且我有一个RSpec的测试,它GET“约”,也未能说没有匹配的路由。
没有这个映射所有行动控制器:
resources :home
或做我必须明确说明在家里控制器每个动作?
resources :home
设置默认的RESTful路由 - 索引,显示,新建,编辑,更新和销毁。任何额外的路线都必须指定。它看起来像你添加一个简单的收集路线,所以你可以这样指定它:
resources :home
collection do
get 'about'
end
end
这会给你的路线'/ home/about'。我想这是Rails的3.如果你在Rails的2.X的时候,做像这样:
map.resources :home, :collection => {:about => :get}
而且在命令行中,你总能看到你有什么途径可以使用下面的命令:
rake routes
我希望这有助于!
编辑:如果你想有一个默认路由,你可以补充一点:
match ':controller(/:action(/:id))'
这是一个默认的路由将匹配任何通用的请求。
全文: Rails 3中的路由是它自己的野兽。已经有很多关于它的问题,最近,所以我创建了一些代码样本很详细的文章,以帮助他人:
我创建了一个同伴的Rails 3应用程序可以下载打转转有,还有:
https://github.com/kconrails/rails3_routing
如果您有任何疑问,请打我的网站,并要求。谢谢!
资源会给你一个控制器7种CRUD方法,如果你想要更多的行动,你需要做类似如下:
resources :homes do
collection do
match "about" => "homes#about", :as => "about"
end
end
然后,你还可以有额外的about_homes_path/URL帮手可用。
yes rails 3,谢谢! – Blankman 2010-12-02 02:58:22