我一直在为在其他环境中正常工作的东西获取路由错误。当我将它们发送到Heroku时,OmniAuth的东西不起作用。
Rails 3.1.3 Ruby 1.9.2-p290 OmniAuth 0.2.6
Started GET "/auth/?provider=google&return_site_id=2&return_session_id=54fb72dc1e6d29308fc6b6ec2b721889" for 76.x.x.x at 2011-12-12 20:17:33 -0800
cache: [GET /auth/?provider=google&return_site_id=2&return_session_id=54fb72dc1e6d29308fc6b6ec2b721889] miss
2011-12-13T04:17:33+00:00 heroku[router]: GET mysite.org/auth/ dyno=web.1 queue=0 wait=0ms service=2ms status=302 bytes=104
Started GET "/auth/google" for 76.x.x.x at 2011-12-12 20:17:33 -0800
ActionController::RoutingError (No route matches [GET] "/auth/google"):
cache: [GET /auth/google] miss
答案 0 :(得分:1)
我遇到了同样的问题(但我使用的是OmniAuth 1.0)。问题是由未在heroku上设置缓存存储引起的。
要修复它,请添加Memcache。关注heroku docs on adding Memcache并在config.cache_store = :dalli_store
中添加config/environments/production.rb
以解决您的问题。