SO,
几个小时前为PDF付费,仔细按照说明操作,但启动first_app后我在localhost:3000中看到了这个:
Routing Error
No route matches [GET] "/"
没有触及任何代码,只需在执行“rails new first_app”后启动服务器。
从命令行:
552 ~/Downloads/rails_projects/first_app>=> Booting WEBrick
=> Rails 3.1.0.rc6 application starting in production on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Sprockets::Environment#static_root is deprecated
[2011-08-20 16:44:40] INFO WEBrick 1.3.1
[2011-08-20 16:44:40] INFO ruby 1.9.2 (2011-07-09) [x86_64-darwin10.8.0]
[2011-08-20 16:44:40] INFO WEBrick::HTTPServer#start: pid=97719 port=3000
552 ~/Downloads/rails_projects/first_app>cache: [GET /] miss
Started GET "/" for 127.0.0.1 at 2011-08-20 16:45:06 -0400
ActionController::RoutingError (No route matches [GET] "/"):
Rendered /Users/briano/.rvm/gems/ruby-1.9.2-p290@rails3.1/gems/actionpack-3.1.0.rc6
/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within
rescues/layout (7.3ms)
使用rails 3.1和ruby 1.9.2:
554 ~/Downloads/rails_projects/first_app>rails -v
Rails 3.1.0.rc6
555 ~/Downloads/rails_projects/first_app>ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
使用rvm,创建一个特殊的gemset,依此类推。有什么想法吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
您是否尝试过创建新应用并再次运行rails server命令? 请回答我的答案..
答案 2 :(得分:0)
我认为这是来自演示应用程序。第一个应用程序没有控制器,因此某些内容已被破坏,但您会在第二个应用程序中再次看到此内容,demo_app
在第一个应用中,尝试取消注释/# root :to => 'welcome#index'
并确保index.html
文件是在公共场合。
当你在demo_app
中看到这个时:
您没有该应用的主应用或“root”的路由。
如果您将地址更改为http://localhost:3000/users,那么索引操作(即html Get for users)将显示您的所有用户,此时此用户均为无。
要解决此问题,您需要添加到主网址或根(http://localhost:3000)的路由。
如果您键入"rake routes"
,您会看到有用户的路由但没有root路由。
打开底部附近的config/routes.rb
文件,更改行:
/# root :to => 'welcome#index'
致:root :to => 'users#index'
users#index
与rake路线的第一条路线相同。
{:action=>"index", :controller=>"users"}
您已更改默认操作以转到用户控制器和索引操作。 Rake路由现在显示root的条目。
答案 3 :(得分:0)
即使我遇到同样的问题。可能的问题可能是您在不同的app目录上运行rails服务器。尝试从与应用程序相同的路径运行rails服务器。