emk*_*emk 21 routes ruby-on-rails rails-routing rails-engines ruby-on-rails-3.1
我正在开发一个可安装的引擎,用于Rails 3.1,我想列出引擎的路由.
我用以下方法创建了引擎:
$ rails plugin new rails_blog_engine --mountable
Run Code Online (Sandbox Code Playgroud)
编辑'test/dummy/config/routes'文件阅读:
Rails.application.routes.draw do
mount RailsBlogEngine::Engine => "/blog"
end
Run Code Online (Sandbox Code Playgroud)
...和'config/routes'读取:
RailsBlogEngine::Engine.routes.draw do
resources :posts
end
Run Code Online (Sandbox Code Playgroud)
我想列出为':posts'生成的路线,但目前尚不清楚我是如何做到这一点的.当我运行'rake app:routes'时,我只获得"/ blog"路线:
$ rake app:routes
rails_blog_engine /blog {:to=>RailsBlogEngine::Engine}
Run Code Online (Sandbox Code Playgroud)
当我运行'rake routes'时,我收到一个错误:
$ rake routes
rake aborted!
Don't know how to build task 'routes'
Run Code Online (Sandbox Code Playgroud)
我怎样才能看到':posts'的路线?我可以不重写相关的rake任务吗?
mač*_*ček 22
如果人们在评论中遗漏了它Rails 3.2.2
,您现在可以使用
$ rake app:routes
Run Code Online (Sandbox Code Playgroud)
emk*_*emk 11
如果将代码从标准Rails 3.1.0 rake routes任务复制到Rakefile中,并将顶部更改为:
task :routes => 'app:environment' do
Rails.application.reload_routes!
all_routes = RailsBlogEngine::Engine.routes.routes
Run Code Online (Sandbox Code Playgroud)
...用你的引擎名称替换RailsBlogEngine,然后你可以通过运行获得一个基本的路由列表:
rake routes
Run Code Online (Sandbox Code Playgroud)
请注意,在Rails 3.1.1及更高版本中,您需要更新版本的rake routes任务.
归档时间: |
|
查看次数: |
7601 次 |
最近记录: |