簡體   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