繁体   English   中英

在Rails应用程序启动之前,如何执行可访问数据库的ruby代码?

[英]how do I execute ruby code with access to the Database before rails application begins?

我想知道在Rails应用程序开始之前如何执行一些ruby代码。 我需要访问数据库并能够设置一些变量以供视图访问。

谢谢。

我认为,更好的方法是不使用数据库,而是在application_root / config文件夹中创建一个配置文件,例如app_config.yml ,然后使用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...

您可以通过以下方式从应用程序中的任何位置访问这些配置变量:

APP_SETTINGS['appname']

等等。

在启动Rails服务器时将加载此yml文件。 因此,如果对此文件进行任何更改,则应重新启动服务器。

如果要设置视图可以立即使用的内容,请尝试将代码粘贴在db/seeds.rb 在此处应放置任何可能需要的对象的创建,例如参考数据(例如,填充“国家/地区”表或设置一些用户角色)。

重置数据库时或通过rake db:reset自动运行它。

单独使用activerecord设置一些常量。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM