我想知道如何在rails应用程序开始之前执行一些ruby代码。我需要 有权访问数据库,并能够为要访问的视图设置一些变量。
感谢。
答案 0 :(得分:1)
我认为,更好的方法是不使用数据库,而是在 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 文件。因此,如果您对此文件进行任何更改,则应重新启动服务器。
答案 1 :(得分:0)
如果您想要设置视图可以立即使用的内容,请尝试将代码粘贴在db/seeds.rb
中。在这里你应该放置你可能需要的任何对象的创建,比如参考数据(例如填充Countries表或设置一些用户角色)。
重置数据库时,或通过rake db:reset
自动运行。
答案 2 :(得分:0)
单独使用activerecord设置一些常量。
http://weblog.jamisbuck.org/2005/10/3/easy-activerecord-scripts