簡體   English   中英

在Ruby / Rails中使用全局列表

[英]Working with a global list in Ruby/Rails

我需要能夠訪問整個Rails項目中的列表。 為了簡單起見,這是我放入environment.rb的列表

FOODS = ['CHEESE', 'EGGS', 'ORANGES']

我希望每個文件都可以訪問此常量,但是同時我擔心某些文件可能會通過做一些特別需要的操作而使其他所有文件的列表混亂,例如: FOODS.push("TEMPORARY_FOOD")

什么是使此列表可全局訪問的正確方法? 我應該使用.freeze ,或者我應該使用比其他一些方法environment.rb

按照慣例,紅寶石常數並不意味着要進行修改。 使用.freeze很好,但是請記住,它不會阻止常量被重新定義,

FOODS = ['ANOTHER', 'ARRAY']

如果在environment.rb定義了該常量,則該常量應該已經可以全局訪問。 更好的將常量初始化放置在config / initializers中的文件中的位置-除非您在environment.rb中需要它-使升級environment.rb(Rails升級更容易)

如果僅視圖文件需要FOODS數組,則可以將其放在application_helper文件中。 如果還需要模型,則可以將其與其他數組合並:

食物+ [“香蕉”]

(還有百萬種方法可以執行此操作)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM