Ruby on rails Rails:在哪里定义facebook应用程序id,以便Desive初始值设定项和控制器可以使用它。
我正在尝试设置fb应用程序id(由omniauth使用),以使其全局用于设计初始化器和控制器 更多信息 我需要在designe初始化器(config/initializer/designe.rb)中使用它,以便设置 config.omniauth:facebook,fb\u app\u id,fb\u app\u secret 尝试的解决方案 我尝试将此信息添加到yml文件()中,但是,看起来yml哈希是为控制器设置的,但我无法将其用于Desive初始化器Ruby on rails Rails:在哪里定义facebook应用程序id,以便Desive初始值设定项和控制器可以使用它。,ruby-on-rails,devise,global-variables,yaml,omniauth,Ruby On Rails,Devise,Global Variables,Yaml,Omniauth,我正在尝试设置fb应用程序id(由omniauth使用),以使其全局用于设计初始化器和控制器 更多信息 我需要在designe初始化器(config/initializer/designe.rb)中使用它,以便设置 config.omniauth:facebook,fb\u app\u id,fb\u app\u secret 尝试的解决方案 我尝试将此信息添加到yml文件()中,但是,看起来yml哈希是为控制器设置的,但我无法将其用于Desive初始化器 /home/ubuntu/myapp/
/home/ubuntu/myapp/config/initializers/devise.rb:215:in `block in <top (required)>': uninitialized constant APP_CONFIG (NameError)
/home/ubuntu/myapp/config/initializers/designe.rb:215:in'block-in':未初始化常量APP\u-config(NameError)
有什么想法吗?我通过添加一个初始值设定项(称为
env.rb
)来设置我需要的各种环境变量(例如,env['FACEBOOK\u APP\u ID']
)。我通过添加一个初始值设定项(称为env.rb
)来设置我需要的各种环境变量(例如,env['FACEBOOK\u APP\u ID'
).对于那些感兴趣的人,我最后在config/environments/production.rb&config/environments/development.rb中编写了变量
您可以通过添加以下内容来设置全局变量:
config.fb_app_id = 23839282
config.fb_app_secret = aj32j32j4jk
(在production.rb或development.rb中设置适当的选项)
这些可以在初始化器中使用,也可以在实际应用程序的视图、控制器等中使用
Rails.configuration.fb_app_id
Rails.configuration.fb_app_secret
阅读第二个答案:
对于那些感兴趣的人,我最后在config/environments/production.rb&config/environments/development.rb中编写了变量 您可以通过添加以下内容来设置全局变量:
config.fb_app_id = 23839282
config.fb_app_secret = aj32j32j4jk
(在production.rb或development.rb中设置适当的选项)
这些可以在初始化器中使用,也可以在实际应用程序的视图、控制器等中使用
Rails.configuration.fb_app_id
Rails.configuration.fb_app_secret
阅读第二个答案:
我遇到了类似的问题,但我找到了不同的解决方案。我从designe.rb内将ENV['FACEBOOK\u APP\u ID',ENV['FACEBOOK\u APP\u SECRET']传递到CONFIG.OMNIAUTH。然后我添加环境变量(~/.bash\u profile)或heroku config:add FACEBOOK\u APP\u ID。这允许我在不推新代码的情况下安装到新环境并重新生成appid。我遇到了类似的问题,但我找到了不同的解决方案。我从designe.rb内将ENV['FACEBOOK\u APP\u ID',ENV['FACEBOOK\u APP\u SECRET']传递到CONFIG.OMNIAUTH。然后我添加环境变量(~/.bash\u profile)或heroku config:add FACEBOOK\u APP\u ID。这允许我安装到新环境并重新生成appid,而无需推送新代码。有趣-但是,这些环境变量无法区分我是处于开发模式还是生产模式…您可以在生产服务器中手动设置它们(例如,使用
export-FACEBOOK\u-APP\u-ID=…
,在初始值设定项中,您可以使用| |=
hmm…是否有任何方法通过yml加载它-我试图获得类似于RailCastInterest中描述的内容-但是,这些环境变量无法区分我是否在d上。)开发或生产模式…您可以在生产服务器中手动设置它们(例如,使用导出FACEBOOK\u APP\u ID=…
,在初始值设定项中,而不是使用=
,您可以使用|124;=
hmm…有没有办法通过yml加载它-我正在尝试获得类似于railcast中描述的内容