Как выполнить код ruby ​​с доступом к базе данных до запуска приложения rails? - PullRequest
0 голосов
/ 09 августа 2011

Я хотел бы знать, как я могу выполнить некоторый код ruby ​​непосредственно перед запуском приложения rails.Мне нужно иметь доступ к базе данных и установить некоторые переменные для доступа к представлениям.

Спасибо.

Ответы [ 3 ]

1 голос
/ 09 августа 2011

Я думаю, что лучший подход - не идти с базой данных, а создать файл конфигурации, скажем, app_config.yml в папке application_root / config , а затем загрузить егоиспользуя следующую строку в файле environment.rb .

APP_SETTINGS = YAML.load_file("#{Rails.root.to_s}/config/app_config.yml")

Ваш app_config.yml файл выглядит следующим образом

appname: something.com
appsettings: something...
appvar: something...

Youможет получить доступ к этим переменным конфигурации из любого места в вашем приложении как:

APP_SETTINGS['appname']

и т. д.

Этот файл yml загружается во время запуска сервера rails,Следовательно, если вы внесете какие-либо изменения в этот файл, ваш сервер должен быть перезапущен.

0 голосов
/ 09 августа 2011

Используйте одну только активную запись для установки некоторых констант.

http://weblog.jamisbuck.org/2005/10/3/easy-activerecord-scripts

0 голосов
/ 09 августа 2011

Если вы хотите настроить то, что представления могут использовать сразу, попробуйте вставить код в db/seeds.rb. Здесь вы должны поместить любое создание объектов, которые вам могут понадобиться, например, справочные данные (например, заполнить таблицу стран или настроить некоторые пользовательские роли).

Он запускается автоматически при сбросе БД или через rake db:reset.

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