Синатра, где разместить требуемые показатели - PullRequest
2 голосов
/ 04 марта 2011

В настоящее время я занимаюсь разработкой приложения для Sinatra / Rack и столкнулся с проблемой проектирования.Я оглядывался по сторонам, и я не совсем уверен, где разместить большую часть операторов require.

Я полагаю, что они идут в одном из двух мест, либо main.rb после запроса самой Синатры,или они входят в config.ru, поэтому все они загружаются в начале приложения.

В настоящее время я склоняюсь к main.rb, поскольку это то, что загружается всеми тестирующими приложениями.

Спасибо за вашу помощь.

Ответы [ 3 ]

6 голосов
/ 07 марта 2011

Рекомендую:

  • Требуется ваш основной файл приложения только из вашего config.ru.
  • Требуется Синатра и просмотр драгоценных камней в вашем основном приложении
  • Создайте отдельные init.rb файлы для каждого из ваших помощников, моделей и маршрутов и требуйте их в своем основном приложении.
  • Требовать гемы, связанные с БД, в моделях / init.rb

Вот пример макета, который я использую:
Использование Sinatra для больших проектов через несколько файлов

Обратите внимание, что, загружая гемы, связанные с БД, и настраивая вашу БД в вашем файле models / init.rb, вы можете (из IRB) загрузить только этот файл и иметь полный стек моделей, доступный для поиска в.

1 голос
/ 04 марта 2011

Взгляните на этот пост в блоге Engine Yard.Он довольно хорошо объясняет, что вы хотите знать: https://www.engineyard.com/blog/using-the-rubygems-bundler-for-your-app

0 голосов
/ 10 марта 2011

Посмотрите на мой исходный код. https://github.com/sirfilip/sinatrablog

:)

Только что понял, что мне нужно удалить все операторы require в моих моделях, так как они все равно не нужны.

Самый интересный файл там - bootloader.rb. Если вы хотите следовать пути запроса, начните с config ru, который действует как фронт-контроллер для приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...