Sinatra - Контроллер как настройка с автоматической загрузкой / включением? - PullRequest
2 голосов
/ 26 октября 2011

Мне нравится, как Rails имеет каждый контроллер в своем собственном файле, и он автоматически загружается, и я пытаюсь сделать то же самое для моего сайта Sinatra.

У меня есть, например, мои страницы "Пользователи",users/login, users/logout и т. д. Я хотел бы отделить все эти и другие страницы, такие как news, admincp и т. д., от их собственных файлов.

Как быЯ загружаю их автоматически при запуске моего сайта Синатры?

Ответы [ 2 ]

3 голосов
/ 26 октября 2011

Вот так я и выполнил свой проект.

Я поместил все «контроллеры» в каталог, затем создал файл с именем init.rb со следующим кодом:

Dir.glob(File.dirname(__FILE__) + '/*.rb').each do |controller|
 require(controller)
end

Тогда в моем главном файле приложения следующий код:

__DIR__ = ::File.dirname(__FILE__)
require __DIR__ + '/controllers/init'

Надеюсь, это поможет.

0 голосов
/ 18 декабря 2015

Если вы хотите иметь больше драгоценных камней, вы можете использовать супер крошечный require_all. Тогда это будет так же просто, как:

require_all 'controllers/init'

Намного проще, но, с другой стороны, добавлена ​​зависимость.

...