【问题标题】:Why is my Sinatra app showing a blank screen?为什么我的 Sinatra 应用程序显示空白屏幕?
【发布时间】:2012-07-27 00:05:30
【问题描述】:

几天前我的 Sinatra 应用程序在我的本地服务器上运行,但现在它根本没有运行,我得到的只是一个空白屏幕。即使我部署到 Heroku,也没有任何效果。

这是一个 GitHub 存储库,您可以在其中查看我的代码:https://github.com/aayalur/Sinfoursq

我认为问题出在我的config.ru 文件上。

# Gemfile
#require "rubygems"
#require "bundler/setup"
#require "sinatra"

require "./main"

set :run, false
set :raise_errors, true

run Sinatra::Application

谢谢!

【问题讨论】:

  • 控制台是否显示错误?
  • 请不要将我们引至外部链接以查看您的代码。如果该链接失效或您更改了代码,那么您的问题将变得无效,并且对于将来遇到相同问题的其他人没有任何价值。
  • 我已将其缩小到 config.ru,但我以后不会更改它

标签: ruby sinatra


【解决方案1】:

在你的 config.ru 中这样离开:

require "rubygems"
require "bundler"

Bundler.require

require "./app"
run Sinatra::Application

【讨论】:

  • 好的,但是控制台正在显示 js 和 css 文件的渲染?你使用服务器上去的命令是什么?工头开始?
  • 否,控制台为空白。我正在使用ruby main.rbrackup
  • 嗨,所以我认为问题在于缓存 css 和 js 文件我确实提取了您的一个项目并且根本没有显示任何内容,并且我配置了 static_assets sinatra 现在可以了。然后尝试配置资产并判断它是否有效
【解决方案2】:

您的应用没有显示任何内容,因为您还没有关闭脚本标签。如果您检查 DOM,您会注意到这一点。

顺便说一句,您启动应用程序两次:一次在 main.rb 中,然后在 config.ru 中。
您会注意到,当 Ctrl+C 运行应用程序时:它会再次启动,您必须再次将其关闭。

由于您的应用需要在 Rack 上运行,请去掉 Sinatra.run! if __FILE__ == $0 并以 rackup 启动它,如 Sinatra's documentation 中所述。

这将解决与运行应用程序相关的问题。

【讨论】:

  • 不敢相信我错过了。谢谢!
猜你喜欢
  • 1970-01-01
  • 2017-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多