Omniauth Facebook的before_filter?
对于设计,有一个非常容易使用的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 #
有什么想法吗?
它找不到名为auth的变量。 所以你需要检查auth变量是否在某处初始化。 根据我的观点,OmniAuth Facebook gem将经过身份validation的数据存储在请求环境中。 请参考: https : //github.com/mkdynamic/omniauth-facebook#auth-hash 。
before_filter将在提供请求之前执行。 所以可能导致问题。
希望有所帮助!
我认为你所使用的auth变量是request.env [“omniauth.auth”]