我正在尝试使用facebook / twitter登录,并关注this railscast
我已将以下内容添加到我的config / initializers / devise.rb中(我在其中输入了我的消费者密钥和Twitter提供的消费者密钥)。
config.omniauth :twitter, ENV["TWITTER_CONSUMER_KEY"], ENV["TWITTER_CONSUMER_SECRET"]
在我的用户模型中添加“:omniauthable”之后,以下产生此错误“未定义的局部变量或方法`resource_class'用于#<#:0x007febf67af938>”
- if devise_mapping.omniauthable?
- resource_class.omniauth_providers.each do |provider|
答案 0 :(得分:13)
我通过删除“ENV []”括号解决了这个问题:
config.omniauth :twitter, 'TWITTER_CONSUMER_KEY', 'TWITTER_CONSUMER_SECRET'
并在我的application_helper.rb中定义resource_class
def resource_class
devise_mapping.to
end
答案 1 :(得分:-3)
如果你运行这个'程序',你会得到同样的错误:
resource_class.omniauth_providers.each do |provider|
end
你必须在某处定义resource_class。你是Railscasts的垃圾邮件发送者吗?对于需要花钱的东西提供链接并没有什么帮助。