【发布时间】:2012-05-24 02:36:48
【问题描述】:
我来自 Java 背景。我想知道是否有办法拥有一个存储常量值的类。
具体到我的问题,我想知道我是否可以有类似的东西:
@user.authentications.create(:uid => "12345", :provider => Provider::FACEBOOK)
Provider 类存储所有静态常量的地方。另外,这是在 Ruby on Rails 中执行此操作的正确方法吗?
额外信息: 我尝试了上述方法
class Provider
FACEBOOK = "facebook"
TWITTER = "twitter"
end
但它给出了错误:
NameError:
uninitialized constant Provider
【问题讨论】:
-
已经回答了非常相似的问题:stackoverflow.com/questions/10607063/…
-
要点是将常量放在需要它们的上下文中。如果您在任何地方都需要它们,则在特定类中或 environment.rb 中都需要它们。