ruby-on-rails – 在rails配置文件和javascript之间共享变量
发布时间:2020-12-17 02:55:12 所属栏目:百科 来源:网络整理
导读:如何在以下各项之间共享变量: config/initializers/omniauth.rb 和 app/assets/javascripts/facebook.js.coffee ? 必须在两个地方设置应用程序ID似乎疯狂笨重. OmniAuth.config.logger = Rails.loggerRails.application.config.middleware.use OmniAuth::B
如何在以下各项之间共享变量:
config/initializers/omniauth.rb 和 app/assets/javascripts/facebook.js.coffee ? 必须在两个地方设置应用程序ID似乎疯狂笨重. OmniAuth.config.logger = Rails.logger Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook,'YOUR-APP-ID-HERE','YOUR-APP-SECRET-HERE' end 和咖啡 jQuery -> $('body').prepend('<div id="fb-root"></div>') $.ajax url: "#{window.location.protocol}//connect.facebook.net/en_US/all.js" dataType: 'script' cache: true window.fbAsyncInit = -> FB.init(appId: 'YOUR-APP-ID',cookie: true) $('#sign_in').click (e) -> e.preventDefault() FB.login (response) -> window.location = '/dedit/auth/facebook/callback' if response.authResponse $('#sign_out').click (e) -> FB.getLoginStatus (response) -> FB.logout() if response.authResponse true 解决方法
Rails 4.1:
您将在config文件夹中找到secrets.yml文件.添加此功能是为了拥有凭据的公共存储位置. 配置/ secrets.yml development: fb_app_id: something fb_app_secret: something test: fb_app_id: something fb_app_secret: something production: fb_app_id: <%= ENV["FB_APP_ID"] %> fb_app_secret: <%= ENV["FB_APP_SECRET"] %> 要访问secrets.yml文件中的各种密钥,您只需执行以下操作: Rails.application.secrets.fb_app_id Rails.application.secrets.fb_app_secret 给你的咖啡脚本.erb扩展名,然后你就可以: FB.init(appId: '<%= Rails.application.secrets.fb_app_id %>',cookie: true) 你的omniauth.rb看起来像这样: OmniAuth.config.logger = Rails.logger Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook,Rails.application.secrets.fb_app_id,Rails.application.secrets.fb_app_secret end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |