我需要在Rails項目中保留某種狀態。 某種全局變量或類似的東西,它在服務器啓動時具有初始值,並且可以在項目的任何地方訪問和修改。怎麼做?實現它的最好方法是什麼?Rails全局狀態變量
1
A
回答
1
在config/initializers
文件夾中創建一個文件並在那裏創建您的全局變量。
# config/initializers/my_var.rb
$my_global_var = 'hello'
但通常有「乾淨」的方式來做到這一點。全局變量不是線程安全的,現在這是一個很熱門的話題。
0
我認爲這裏最好的解決方案可能是settingslogic gem。你可以在yaml文件中定義設置,然後你可以在代碼的任何地方訪問它們。閱讀並設置它們。同樣,它可以讓你擁有不止一個'全局變量'。在我使用的大多數項目中,設置在運行時不會更改,但如果您需要這種行爲,則可以這樣做。
# config/application.yml
defaults: &defaults
my_global_variable: 100
development:
<<: *defaults
production:
<<: *defaults
#And then anywhere in the application you can do:
Settings['my_global_variable'] = 200
+0
它的工作原理,問題在於如上面有人所說,它不是線程安全的。 – user1573607
相關問題
- 1. Rails全局變量
- 2. 靜態全局變量V靜態全局類變量
- 3. Rails中的全局變量
- 4. SASS全局變量+ Rails 3.1
- 5. Ruby on Rails - 全局變量?
- 6. Rails模型全局變量
- 7. Rails的全局變量
- 8. CakePHP動態全局變量
- 9. 靜態全局變量和靜態局部變量
- 10. 全局狀態欄
- 11. Haskell:Monad變形金剛和全局狀態
- 12. java全局全局變量和用戶全局變量
- 13. 從broadcastreceiver更新應用程序狀態(全局變量)
- 14. 訪問全局變量以跟蹤多處理中的狀態
- 15. 高速緩存中的全局變量狀態是否正確
- 16. 服務定位符不僅僅是全局變量/狀態嗎?
- 17. Rails全局變量去哪裏?
- 18. Rails 3:緩存到全局變量
- 19. 創建一個全局變量rails 3.1
- 20. Ruby on Rails中Coffeescript的全局變量
- 21. Rails,js變量的全局存儲
- 22. Ruby on Rails - 避免全局變量
- 23. Easy Rails問題:全局用戶變量?
- 24. 全局與局部靜態變量的shell環境變量
- 25. Rails全局變量:是http請求之間的全局變量共享嗎?
- 26. 全局變量
- 27. 全局變量。
- 28. 全局變量
- 29. 全局變量
- 30. 全局變量
同意塞爾吉奧,如果可能的話尋找替代解決方案。後來在項目中會導致難以調試的問題 – Ross
是的,我試了一下。並且變量值在某些進程中不正確,因爲不是線程安全性。 那麼,我能做什麼?創建一個模型只存儲一個變量? – user1573607