2014-09-19 40 views
0

我想動態調用初始化器中定義的變量。 我有一個在我的初始化創建的文件(brands.rb),它具有初始化 等被定義一些變量,如何動態調用在rails中初始化器中定義的變量

FEATURED_FASHION_BRAND=["something", "something"] 
FEATURED_DIY_BRAND=["something", "something"] 

這樣我就可以動態調用這個變量,我的意思是,這樣的事情,

@name= params[:name] 
FEATURED_"#{@name}"_BRAND 
+0

順便說一句,一個好得多的辦法做到這一點是做一個有h值在您的配置。然後,您可以只說'FEATURED_BRANDS [@name]'或類似的名稱,而不是使用動態變量名稱。 – 2014-09-19 13:28:46

+0

而且,爲了更進一步,您應該將這些東西存儲在您的數據庫中:感覺就像它會出現在具有「精選」布爾字段的「品牌」表中。 – 2014-09-19 13:30:12

回答

1

您可以使用constantize爲:

"FEATURED_#{@name}_BRAND".constantize

+1

請注意,您可以使用'constantize'來處理各種事情,例如將一個字符串轉換爲一個類:'my_model_name.constantize.find(123)' – 2014-09-19 11:19:49

+0

@MaxWilliams謝謝爲我工作 – railsman 2014-09-19 11:28:33

相關問題