Rails的基本路由问题

时间:2012-05-28 22:09:30

标签: ruby-on-rails ruby

我从2007年的一本书中的rails教程制作了基本的博客演示。我意识到它已经过时了,所以我删除了我制作的博客,并开始从这里的教程重做它:http://guides.rubyonrails.org/getting_started.html#creating-the-blog-application

我从头开始,现在我在该链接的指令上坚持4.3,因为当我输入http://localhost:3000/时,我一直在获取Rails的默认屏幕,而不是“Hello,Rails!”像啧啧说我应该。

4.3的说明是输入

rm public/index.html

然后访问routes.rb文件以取消注释root to:section,使其显示

root :to => "welcome#index"

我继续进行迁移,但仍然保持默认屏幕。

然后我输入

rails server -d

看看是否有诀窍但是没有。它只是说这只以第二个=>:

结尾
blog ❯ rails server -d
=> Booting WEBrick
=> Rails 3.2.3 application starting in development on http://0.0.0.0:3000

如果我输入

rails server

我在终端中收到错误消息,说明如下:

blog ❯ rails server

=> Booting WEBrick

=> Rails 3.2.3 application starting in development on http://0.0.0.0:3000

=> Call with -d to detach

=> Ctrl-C to shutdown server

[2012-05-28 17:42:34] INFO  WEBrick 1.3.1

[2012-05-28 17:42:34] INFO  ruby 1.9.3 (2012-02-16) [x86_64-darwin11.3.0]

[2012-05-28 17:42:34] WARN  TCPServer Error: Address already in use - bind(2)
Exiting

/Users/Nick/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/webrick/utils.rb:85:in     `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)
from /Users/Nick/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/webrick/utils.rb:85:in `new'

如果有人要我粘贴剩下的错误,我会继续这样做。

我不知道该怎么办才能解决这个问题。

感谢您的帮助

1 个答案:

答案 0 :(得分:8)

  

TCPServer错误:地址已在使用中 - bind(2)

正在发生以下两件事之一:

  1. 您已经在端口3000上的其他位置运行了WEBrick服务器。在开始新服务器之前将其杀死。
  2. 其他一些进程正在侦听端口3000
  3. 第一次执行rails server -d时,您启动了一个正在使用端口3000的后台WEBrick服务。找到正在运行的进程并通过以下方式终止它:

    ps aux | grep ruby
    kill  [PID from above]
    

    然后使用rails server重新启动您的WEBrick。此时,已经删除了public / index.html,您的路由应该是活动的并且正常工作。