Heiko Seebach
2009-Feb-19 22:08 UTC
[Facebooker-talk] Hash in @current_adapter (instead of FacebookAdapter)
Hi everybody,
I''m using the current facebooker version from
http://github.com/mmangino/facebooker/tree/master in production, and I
had a strange problem.
About every fifth (or tenth) time I (and others too) reload our homepage
with the browser I got the following stacktrace:
ActionView::TemplateError (undefined method `api_key'' for
#<Hash:0x2aeb25fd3b68>) on line #2 of facebook/_login_button.html.erb:
1: <%= fb_connect_javascript_tag %>
2: <%= init_fb_connect "XFBML"%>
vendor/plugins/facebooker/lib/facebooker.rb:104:in `send''
vendor/plugins/facebooker/lib/facebooker.rb:104:in `api_key''
vendor/plugins/facebooker/lib/facebooker/rails/helpers/fb_connect.rb:15:in
`init_fb_connect''
app/views/facebook/_login_button.html.erb:2:in
`_run_erb_47app47views47facebook47_login_button46html46erb''
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_view/base.rb:342:in
`send''
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_view/base.rb:342:in
`execute''
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_view/template_handlers/compilable.rb:29:in
`send''
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_view/template_handlers/compilable.rb:29:in
`render''
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_view/partial_template.rb:20:in
`render''
/var/lib/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/benchmarking.rb:26:in
`benchmark''
...
This happened even when I deleted all session and domain cookies before
the reload.
I debugged very long time and now and found out, thats ometimes there
was a Hash in the
@current_adapter
of facebooker.rb
instead of a FacebookAdapter object
@current_adatper.inspect
showed, that the hash is the facebook_config object! (so the
FacebookAdapter wrapper around it is missing)
I fixed it temporarily by disabling loading a specific adapter
def current_adapter
#@current_adapter ||
Facebooker::AdapterBase.default_adapter
end
so that always the default_adapter is used.
This works for now and for me.
I''ve no idea how this could happen, but maybe it helps somebody to find
this bug or has any idea about it.
thanks, Heiko Seebach