のための未定義のローカル変数またはメソッド `フラッシュ 'フロントエンドにOmniauth-facebookとDevise-token-authとAngularとng-token-authを使用してRails-APIをビルドします。しかし、レール-APIはこれを含んでいない#define :: OmniauthCallbacksController:0x007fb5d1741e48>
undefined local variable or method `flash' for #<Devise::OmniauthCallbacksController:0x007fd027a51e10>
は、それが自動的にomniauth思わフラッシュミドルウェアを使用していますし、私は失敗したomniauthでのフラッシュの使用を無効にされています:Facebookのアカウントでログインするときに しかし、私はエラーを提示しています。 私の構成は以下の通りです:
application.rb:
require File.expand_path('../boot', __FILE__)
require "rails"
# Pick the frameworks you want:
require "active_model/railtie"
require "active_job/railtie"
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_view/railtie"
require "sprockets/railtie"
# require "rails/test_unit/railtie"
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)
module PathfinderApi
class Application < Rails::Application
config.active_record.raise_in_transactional_callbacks = true
config.middleware.insert_before 0, "Rack::Cors" do
allow do
origins '*'
resource '*', :headers => :any, :methods => [:get, :post, :options]
end
end
config.api_only = true
config.middleware.use ActionDispatch::Flash
config.middleware.use ActionDispatch::Cookies
config.middleware.use ActionDispatch::Session::CookieStore
end
end
devise_token_auth.rb:
DeviseTokenAuth.setup do |config|
Rails.application.secrets.facebook_app_secret
config.change_headers_on_each_request = true
end
devise.rb:
Devise.setup do |config|
config.navigational_formats = [:json]
end
omniauth.rb:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, ENV['APP_KEY'], ENV['APP_SECRET']
end
私はフラッシュエラーを無効にするために管理していない:
config.navigational_formats = [:json]
および/ omniauthを考案まだ任意のヘルプは感謝、フラッシュミドルウェアを使用して、エラーをスローしています!
確かに真の、あまりにもそれを把握するために私にいくつかの時間がかかりました!付録のThnx。 –
あなたはいくつかの部分を欠いています。 Omniauthでセッションストレージを構成するためです。あなたが実際に望むのは、公式の指示に従うことです:https://github.com/omniauth/omniauth#integrating-omniauth-into-your-rails-api – sarink