Rails在生产中运行时返回空白HTML。
我在下面描述的测试是通过以下行完成的:wget http://localhost:3000/login -O here.txt ; cat here.txt
。我希望在执行之后看到一些HTML输出。
在我的服务器上,我可以看到在开发模式下使用命令rails s
启动rails时呈现的HTML。我可以在日志中看到以下内容:
Started GET "/login" for 127.0.0.1 at 2013-08-21 18:30:32 +0000
Processing by UserSessionsController#new as */*
Rendered user_sessions/_login.html.haml (59.5ms)
Rendered user_sessions/new.html.haml within layouts/application (62.8ms)
Compiled bootstrap-datepicker.css (0ms) (pid 8050)
Compiled application.css (4ms) (pid 8050)
Compiled bootstrap.min.css (0ms) (pid 8050)
# lots of Compiled lines
Rendered layouts/_navigation.html.haml (3.2ms)
Rendered layouts/_messages.html.haml (1.0ms)
Completed 200 OK in 1404ms (Views: 1395.6ms | ActiveRecord: 0.8ms)
使用RAILS_ENV=production rails s
启动我的应用程序时,执行相同的请求,我在日志中得到以下信息:
Started GET "/login" for 127.0.0.1 at 2013-08-21 18:30:52 +0000
Processing by UserSessionsController#new as */*
Rendered user_sessions/_login.html.haml (57.8ms)
Rendered user_sessions/new.html.haml within layouts/application (60.9ms)
Completed 200 OK in 69ms (ActiveRecord: 0.9ms)
但是没有输出HTML。怎么了?为什么这不像它在开发时那样工作?
我使用rails 3.2.13
,在此测试中,它使用WEBrick
运行。如果重要的话,我也在使用RVM
。
更新:使用config/environments/development.rb
上config/environments/production.rb
的内容无法解决问题
答案 0 :(得分:0)
问题是我在ApplicationController上抢救一个异常而没有通过逻辑错误正确处理它。在开发模式中没有引发异常。