首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为我的Rails应用程序创建自定义配置选项的最佳方式?

为我的Rails应用程序创建自定义配置选项的最佳方式?
EN

Stack Overflow用户
提问于 2009-02-26 21:37:11
回答 9查看 74K关注 0票数 133

我需要为我的Rails应用程序创建一个配置选项。它对于所有环境都可以是相同的。我发现如果我在environment.rb中设置它,它在我的视图中是可用的,这正是我想要的……

代码语言:javascript
复制
environment.rb

AUDIOCAST_URI_FORMAT = http://blablalba/blabbitybla/yadda

效果很好。

然而,我有一点不安。这是一个好方法吗?有没有更时髦的方法?

EN

回答 9

Stack Overflow用户

发布于 2011-01-18 21:18:46

Rails 3版本的初始化器代码如下(RAILS_ROOT和RAILS_ENV已弃用)

APP_CONFIG = YAML.load_file(Rails.root.join('config', 'config.yml'))[Rails.env]

此外,Ruby 1.9.3使用了使合并关键字区分大小写的which,因此您需要更改配置文件以考虑到这一点,例如

代码语言:javascript
复制
defaults: &DEFAULTS
  audiocast_uri_format: http://blablalba/blabbitybla/yadda

development:
  <<: *DEFAULTS

test:
  <<: *DEFAULTS

production:
  <<: *DEFAULTS
票数 82
EN

Stack Overflow用户

发布于 2015-01-30 06:23:09

我只想更新这个Rails 4.2和5中最酷的东西,你现在可以在你的任何config/**/*.rb文件中这样做:

代码语言:javascript
复制
config.x.whatever = 42

(这是一个字面上的x。从字面上看,config.x.必须是这样的,然后您可以在x之后添加任何您想要的内容)

...and这将在你的应用程序中提供:

代码语言:javascript
复制
Rails.configuration.x.whatever

点击此处查看更多信息:http://guides.rubyonrails.org/configuring.html#custom-configuration

票数 17
EN

Stack Overflow用户

发布于 2012-11-14 14:29:57

只是关于这个主题的一些额外信息:

代码语言:javascript
复制
APP_CONFIG = YAML.load_file(Rails.root.join('config', 'config.yml'))[Rails.env].with_indifferent_access

".with_indifferent_access“允许您使用字符串键或等效的符号键来访问散列中的值。

例如:

APP_CONFIG['audiocast_uri_format'] => 'http://blablalba/blabbitybla/yadda' APP_CONFIG[:audiocast_uri_format] => 'http://blablalba/blabbitybla/yadda'

纯粹是为了方便,但我更喜欢将我的键表示为符号。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/592554

复制
相关文章

相似问题

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