首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过环境变量添加记录?

如何通过环境变量添加记录?
EN

Stack Overflow用户
提问于 2014-04-14 06:12:59
回答 3查看 72关注 0票数 2

我需要你指导红宝石的环境保护。

================================================

我有一些代码可以转换设备整数=>设备名的版本。在我的代码中,路径:

Config-initilizer-android.rb

代码语言:javascript
复制
module Android
  @conversion_table_of_model_id_and_device_name = {
    'Anroid2,3'   => 'Gingerbread',
    'Android3,0'   => 'Honeycomb',
    'Android4,1'   => 'ICS',
    'Android4,2'   => 'JB',
}

在未来,如果有另一个名字的android --比如‘KitKat’。我想使用环境变量来添加它,而不是使用硬代码。我该怎么做呢?这有可能吗?我该把它放在哪里?

打招呼。阿斯特恩

EN

回答 3

Stack Overflow用户

发布于 2014-04-14 06:26:29

使用Rails 4.1,您可以使用secrets.yml,查看此链接

如果您有较早的版本,请尝试菲加罗宝石

票数 1
EN

Stack Overflow用户

发布于 2014-04-14 06:45:17

是什么阻止您使用ENV常量?

代码语言:javascript
复制
module Android
  @conversion_table_of_model_id_and_device_name = {
    'Anroid2,3'   => 'Gingerbread',
    'Android3,0'   => 'Honeycomb',
    'Android4,1'   => 'ICS',
    'Android4,2'   => 'JB',
    'Android4,3'   => ENV[ 'ANDROID_OS_NAME' ]
}
票数 1
EN

Stack Overflow用户

发布于 2014-04-14 06:54:32

您必须记住,ENV vars仍然是变量,这意味着您可以以类似的方式使用它们。我建议使用类似于Rails 4.1中的新secrets.yml的东西,或者像配置斯巴达这样的东西来创建您需要的数据的yml结构:

代码语言:javascript
复制
#config/secrets.yml
development:
  android:
    2.3: "gingerbread"
    3.0: "Honeycomb"
    4.1: "ICS"
    4.2: "JB"
    4.4: "KK"


module Android
    @conversion_table_of_model_id_and_device_name
    me = {}
    Rails.application.secrets.android.each do |k,v|
        me[k.to_sym] = v
    end
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23053119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档