![]() |
1
45
我相信您对config/application.rb的期望值背后有一个稍微不正确的想法。ActiveRecord::Base和ActiveController::Base特征类使用在config/Application.rb中配置的Rails::Application::Configuration类。这些属性在从任何一个基类或其特征类派生的类中都不可用。这就是为什么在ApplicationController中遇到错误。 在Rails应用程序中进行配置初始化通常有两种方法。第一种方法是创建配置模块,然后通过初始化器将值加载到其中: 首先,创建一个twitter配置模块:
或者,如果您不打算将config/twitter.yaml添加到您的SCM中,您可以跳过这个步骤,通过环境变量设置密钥和机密。对于在Heroku上部署公共SCM存储库的应用程序,这将是建议的解决方案。 然后通过初始化器加载并设置该值:
通常情况下,最好对初始值设定项文件进行编号,因为Rails会按照文件名的顺序加载它们。如果您正在初始化一个数据存储,并且这对于其他步骤至关重要,那么它需要最低的数目。或者,如果您使用环境变量,这将是init文件:
也可以将值作为全局常量加载。但我觉得有点难看:
|
![]() |
2
13
我已经试过了,而且似乎正在工作,您可以使用::Rails.application.config。
我找到它多亏了less rails代码: https://github.com/metaskills/less-rails/blob/master/lib/less/rails/helpers.rb
然后在代码中的任何地方像这样阅读:
|
![]() |
3
5
您可能需要考虑使用yaml文件方法。
在config/config.yml中
|
![]() |
4
0
对广泛接受的答案的一个小的更新: Accessing config from application.rb in Controller (Rails 3) TwitterConfig模块中的方法应该是类方法(或者如果您喜欢的话,应该是模块方法)。它们不能是实例方法。
|
|
5
-1
把文件放进去
像这样的:
您的生产密钥不受版本控制,也不需要使用YAML文件。 |
![]() |
Stilian · 存储库设置中没有Github页面部分 2 年前 |
![]() |
Kellen · 查看$卷展栏功能列表 2 年前 |
![]() |
Akshit Thakur Ak · 我怎样才能把铁轨停下来? 2 年前 |
![]() |
johncssjs · 将数组转换为每个元素的嵌套哈希 2 年前 |
![]() |
solidsnake99 · Rails db:如何绕过验证 2 年前 |