更新 - Sinatra 无法识别任何路线

问题描述 投票:0回答:1
css sinatra
1个回答
0
投票

您正在混淆经典和模块化风格 Sinatra 应用程序。

为了使用模块化风格,替换

require 'sinatra'

require 'sinatra/base'

这将与您的

config.ru
一起使用。如果您希望能够使用
ruby application.rb
运行您的应用程序,那么您可以在
application.rb
的末尾添加类似的内容:

if $0 == __FILE__
  ABC.run!
end

这会检查当前文件是否是用于启动程序的文件,如果是,则启动运行您的应用程序的内置服务器。

当您使用

require 'sinatra'
时,Sinatra 将设置为使用经典风格。在这里,它期望在顶层定义路由,并将它们添加到
Sinatra::Application
应用程序中。当您执行
ABC
操作时,运行的是此应用程序,而不是您的
ruby application.rb
应用程序。由于此应用程序上没有定义路由,因此任何 url 都会收到 404 错误。

© www.soinside.com 2019 - 2024. All rights reserved.