Chỉ cần tôi hai xu:
my_app.rb:
require 'sinatra/base'
class MyApp < Sinatra::Base
set :root, File.expand_path('../', __FILE__)
set :app_file, __FILE__
disable :run
files_to_require = [
"#{root}/app/helpers/**/*.{rb}",
"#{root}/app/routes/**/*.{rb}"
]
files_to_require.each {|path| Dir.glob(path, &method(:require))}
helpers App::Helpers
end
app/tuyến/health.rb:
MyApp.configure do |c|
c.before do
content_type "application/json"
end
c.get "/health" do
{ Ruby: "#{RUBY_VERSION}",
Rack: "#{Rack::VERSION}",
Sinatra: "#{Sinatra::VERSION}"
}.to_json
end
end
app/giúp đỡ/application.rb:
module App
module Helpers
def t(*args)
::I18n::t(*args)
end
def h(text)
Rack::Utils.escape_html(text)
end
end
end
config.ru:
require './my_app.rb'
Nguồn
2012-10-09 14:44:25
Tốt nhất. Tôi đã sử dụng ví dụ của bạn ở đây: https://github.com/bridgeutopia/simple-sinatra-mvc – kgpdeveloper
Tại sao bạn cần phải đăng ký hai lần? –
Bạn chỉ cần đăng ký từ các ứng dụng mô-đun, vì đăng ký trong tệp tuyến đường sẽ chỉ thêm vào không gian tên chính. – aledalgrande