gpt4 book ai didi

ruby - 如何将 Sinatra + mustache 部署到 Heroku 上?

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:26 24 4
gpt4 key购买 nike

我有一个非常基本的本地 Sinatra 站点。我正在使用“rackup”,你可以像这样定义一个 config.ru:

require './web'

use Rack::ShowExceptions

run App.new

然后在终端中您可以运行“rackup”并启动网络服务器,一切正常。

但是,当我将它部署到 heroku 时,我没有收到任何错误消息,但是,当我访问该站点时,它显示标准的“Sinatra 不知道这个小东西”错误。

这是我的 web.rb 的一个片段,希望对您有所帮助:

require 'sinatra'
require 'maruku'
require 'mustache/sinatra'
require 'nokogiri'

class App < Sinatra::Base
register Mustache::Sinatra
require './views/layout'

set :mustache, {
:views => './views/',
:templates => './templates/'
}

get '/' do
"FUUUUUUUUUUUUU"
end
  • 编辑

查看 heroku 日志,它出现就像 sinatra 启动然后停止;它不会继续运行。然后当有人发出请求时,显然服务器返回 404

2012-01-20T12:39:23+00:00 app[web.1]: == Sinatra/1.1.0 has taken the stage on 16662 for development with backup from Thin
2012-01-20T12:39:23+00:00 app[web.1]: >> Thin web server (v1.2.7 codename No Hup)
2012-01-20T12:39:23+00:00 app[web.1]: >> Maximum connections set to 1024
2012-01-20T12:39:23+00:00 app[web.1]: >> Listening on 0.0.0.0:16662, CTRL+C to stop
2012-01-20T12:39:23+00:00 app[web.1]: == Sinatra has ended his set (crowd applauds)
2012-01-20T12:39:23+00:00 app[web.1]:
2012-01-20T12:39:23+00:00 app[web.1]: >> Stopping ...
2012-01-20T12:39:23+00:00 heroku[web.1]: Process exited
2012-01-20T12:39:24+00:00 heroku[router]: GET young-river-2245.herokuapp.com/ dyno=web.1 queue=0 wait=0ms service=48ms status=404 bytes=409

最佳答案

无论何时从 Sinatra::Base 继承,您都必须 require 'sinatra/base' 而不是 require 'sinatra'你的 web.rb 文件。

我刚刚使用您的代码片段运行了一个简单的测试,并且能够复制并通过执行此操作修复错误。

关于ruby - 如何将 Sinatra + mustache 部署到 Heroku 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8934675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com