我使用Sinatra模块化风格,我不知道会发生什么变质.我搜索谷歌但没有找到任何东西
require 'sinatra/base'
class App < Sinatra::Base
get '/' do
haml '%h1 Test'
end
end
run App
Run Code Online (Sandbox Code Playgroud)
并且看一下test.rb:12:在<main>': undefined method运行'for main:Object(NoMethodError)出了什么问题?
Jar*_*red 10
你是通过ruby -rubygems hi.rb运行的(假设这段代码在hi.rb中).如果是这样,您不需要运行App.除非您通过构建在/与Sinatra上的另一个框架运行它.
也许可能想要包括haml ...
你有一个config.ru:
# config.ru
require 'my_app'
run MyApp
Run Code Online (Sandbox Code Playgroud)
和一个my_app.rb:
# my_app.rb
require 'sinatra/base'
require 'haml'
class MyApp < Sinatra::Base
get('/') { haml '%h1 Test' }
# start the server if ruby file executed directly
run! if app_file == $0
end
Run Code Online (Sandbox Code Playgroud)
然后在运行my_app.rb的文件夹中,在localhost上启动应用程序:4657:
rackup -p 4567
Run Code Online (Sandbox Code Playgroud)