我正在跟踪rails cast #85 这里和堆栈溢出这里上标记的正确答案。
我试图使用facebook "app_id“和"app_secret”来设置rails中的环境变量。
我的代码是:
初始化器/facebook.rb
FACEBOOK_CONFIG = YAML.load_file("#{::Rails.root}/config/facebook.yml")[::Rails.env]config/facebook.yml
development:
app_id: abcdefg
app_secret: 123456
production:
app_id: abcdefg
app_secret: 123456初始化器/全站仪
OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, FACEBOOK_CONFIG['abcdefg'], FACEBOOK_CONFIG['123456'], {:client_options => {:ssl => {:ca_file => Rails.root.join("cacert.pem").to_s}}}
end当我在app_id和app_secret ie FACEBOOK_CONFIG前面设置环境变量时,当我尝试通过facebook登录时,它会返回一条"app_id参数是必需的“消息。所以这条路行不通。我想知道是否有代码丢失,或者有人可以看到我做错了什么,环境变量没有通过facebook进行处理(以前它们没有任何ENV变量)。
发布于 2016-08-20 13:38:49
在你的rails console里试试
编辑
require 'yaml'
yaml = YAML.load_file(File.expand_path("#{Rails.root}/config/facebook.yml"))
puts yaml*编辑2 *
FACEBOOK_CONFIG = YAML.load_file("#{::Rails.root}/config/facebook.yml")[::Rails.env]改为:
FACEBOOK_CONFIG = YAML.load_file(File.expand_path("#{Rails.root}/config/facebook.yml"))[::Rails.env]https://stackoverflow.com/questions/39053217
复制相似问题