Rails 请教为什么运行 Rails s 之后,浏览器看不到任何东西。

drshu · 2016年08月19日 · 最后由 drshu 回复于 2016年08月20日 · 2959 次阅读

我是一个 Rails 的初学者,一直在看 Ruby on Rails Tutorial,之前一直实在云端 IDE 之中跟着教程走,但是我现在想在本地来继续写,我采取的方法是:云端 push 到最新状态,在本地克隆下来,并运行迁移以及 test,一切都没有问题。 但是在运行

rails s

之后,得到的信息如下

> Booting Puma
=> Rails 5.0.0 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
DEPRECATION WARNING: Sprockets method `register_engine` is deprecated.
Please register a mime type using `register_mime_type` then
use `register_compressor` or `register_transformer`.
https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors
 (called from block (2 levels) in <class:Railtie> at /Users/Shu/.rvm/gems/ruby-2.3.0/gems/sass-rails-5.0.5/lib/sass/rails/railtie.rb:57)
DEPRECATION WARNING: Sprockets method `register_engine` is deprecated.
Please register a mime type using `register_mime_type` then
use `register_compressor` or `register_transformer`.
https://github.com/rails/sprockets/blob/master/guides/extending_sprockets.md#supporting-all-versions-of-sprockets-in-processors
 (called from block (2 levels) in <class:Railtie> at /Users/Shu/.rvm/gems/ruby-2.3.0/gems/sass-rails-5.0.5/lib/sass/rails/railtie.rb:58)
Puma starting in single mode...
* Version 3.4.0 (ruby 2.3.0-p0), codename: Owl Bowl Brawl
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop

看似正常(前面的两个 waring 在云端 IDE 中也有,我查了下 stack overflow,好像是 rails5.0.0 的一个 bug,在云端运行正常),但是我打开http://localhost:3000之后,是一片空白,终端也没有人和提示。 请问如何排查问题,有没有什么 log 可以看一下,/log 之下的 test 和 development 两个 log 没有有用线索,并且后者还是不完整的。求指点,谢谢!

Update:原因已找到,是端口的问题,但是更换端口之后,无法载入所有 css 表,控制台输出很多相同的错误

2016-08-20 13:31:24 +0800: Rack app error: #<NoMethodError: undefined method `silence' for #<Logger:0x007fa321dc7e60>>

没有用过这个方法啊,查询谷歌也没有相关的内容,求帮助!

Edit:查询到一个 issue,但是和我这个没有什么关系啊,我没用到过这个 def 啊?Github-issue 重新 clone 一次项目之后,正常运行,之前的问题暂未解决。

你的启动信息下边有没有出现访问信息?

new 一个新的看如何。一般是 webrick 服务器吧。

没有任何反应呢,但是 Ctrl c 可以结束。#1 楼 @realwol

#3 楼 @drshu 那应该是你的请求没有送达 你检查检查 先让 server 收到你的请求

#3 楼 @drshu 你的 log 里说的是 tcp 你打开的是 http

#4 楼 @realwol 请问要如何检查,那里有相关的 log?Rails 5.0.0 application starting in development on http://localhost:3000这里是 http

#2 楼 @chenge 我 new 了一个新的项目,没有问题,可以正常 new

我也是初学者…也偶尔会遇到类似的问题… 在启动服务器的时候换一个端口号就好了 不知道什么原因😳 rails s -p 8888

#8 楼 @lwd369 你说的对,我刚才也发现了,可能是我开着 SS 的原因,但是那个的端口应该是 8090 呀?还有就是我换端口之后载入不了 css 只有文字,所有的样式都没了,控制台提示有的方法找不到…很奇怪。在云端相同的代码一切正常

#6 楼 @drshu 我没有接触到过类似的问题,我觉得是不是你启动的地方 puma 没有监听到?你换个 server 试试,我也不是很清楚这儿的 http 和 tcp 的区别

SS 开了全局代理?

bind 0.0.0.0

#11 楼 @yellowstar 我开的自动代理

请检查下你的浏览器代理。

#14 楼 @mitchell 谢谢你 找到问题的原因了,就是端口问题,但是现在只会显示文字,无法载入 CSS 表,这个要如何解决,,打开页面之后控制台输出主要错误如下

2016-08-20 13:31:24 +0800: Rack app error: #<NoMethodError: undefined method `silence' for #<Logger:0x007fa321dc7e60>>

但是我没有找到 silence 这个方法,我好像也没有用到过。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号