Увы, если, как и я, вы создаете модульное приложение Sinatra, это немного сложнее, чем просто переместить helpers
в другой файл.
Единственный способЯ получил это, чтобы работать следующим образом.
сначала в вашем приложении (я назову это my_modular_app.rb
)
require 'sinatra/base'
require 'sinatra/some_helpers'
class MyModularApp < Sinatra::Base
helpers Sinatra::SomeHelpers
...
end
, а затем создайте структуру папок ./lib/sinatra/
и создайтеsome_helpers.rb
следующим образом:
require 'sinatra/base'
module Sinatra
module SomeHelpers
def help_me_world
logger.debug "hello from a helper"
end
end
helpers SomeHelpers
end
делая это, вы можете просто разбить всех ваших помощников на несколько файлов, обеспечивая большую ясность в больших проектах.