![](/img/trans.png)
[英]Ruby on Rails: How do I execute a function before saving to the database?
[英]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.