1

デバイスには、コントローラーで使用するための非常に使いやすい Before_filter があります。

何らかの理由で、これを Omniauth_facebook Gem で機能させることができません。私は Facebook Omniauth で Railscast をフォローしました。

 before_filter :authenticate

  def authenticate
   redirect_to :login unless User.find_by_provider_and_uid(auth["provider"], auth["uid"])
 end
 end

しかし、私はエラーが発生します:

   NameError in PostsController#new

    undefined local variable or method `auth' for #<PostsController:0x007f9fbfa7ee58>

何かご意見は?

4

2 に答える 2

0

auth という名前の変数が見つかりません。したがって、auth 変数がどこかで初期化されているかどうかを確認する必要があります。私の見解によると、OmniAuth Facebook gem は認証されたデータをリクエスト環境に保存しています。これを参照してください: https://github.com/mkdynamic/omniauth-facebook#auth-hash

before_filter は、リクエストを処理する前に実行されます。それが問題を引き起こす可能性があります。

それが役立つことを願っています!!!

于 2013-05-21T19:03:00.440 に答える