【问题标题】:rails, access constant defined in environment.rbrails,在 environment.rb 中定义的访问常量
【发布时间】:2011-10-09 01:29:13
【问题描述】:

我是 Rails 的新手,我想使用基于 API 密钥的 REST 服务。如果我将 API 密钥定义为控制器类中的常量,一切正常。

有些人建议将常量作为 API 密钥存储在 /config/environment.rb 中。我在那里定义了常量,但我无法访问它们并得到他的错误uninitialized constant

除了定义常量之外,我还有什么需要做的吗?我必须包含任何文件吗?

我的 /config/environments.rb 文件如下所示:

# Load the rails application
require File.expand_path('../application', __FILE__)

# Initialize the rails application
Apis::Application.initialize!

KEY_1 = "aghtbjki"
SHARED_SECRET_1 = "plkjuvfe"
KEY_2 = "ljfebjyf"

我只添加了最后三行。

这可能是一个简单的问题,但这是我在 Rails 中的第一个项目。

【问题讨论】:

  • 你从哪里访问常量?
  • 理想情况下,您应该将常量放入模块中,而不是将它们放入“全局命名空间”中。例如。 module Key; KEY_1="abc"; end

标签: ruby-on-rails


【解决方案1】:

命名时不能在字母前使用数字。 使用,例如:

KEY_1 = 'abcd'
SHARED_SECRET_1 = '123123'
KEY_2 = '1232412'

【讨论】:

  • 添加后是否重启了应用?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-02
  • 2013-07-02
  • 2017-07-03
  • 2013-11-27
  • 2011-05-14
  • 2011-10-06
  • 1970-01-01
相关资源
最近更新 更多