[Facebooker-talk] canvas url rewriting fails for templates loaded through ajax

George Deglin george at xapblog.com
Thu Jul 10 20:47:44 EDT 2008


I just encountered a bug that caused the links in my partials to be
generated as non-canvas routes when the partial was loaded via ajax.

This bug is due to facebooker url rewriting checking for fb_sig_in_canvas to
determine if the application is running in or outside a canvas, and
fb_sig_in_canvas is not sent for ajax requests.

My hacked together patch diff is below, sorry I didn't have a chance to
write tests or closely verify that my changes won't break anything else.

a/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_rewriting.rb
b/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_rewriting.rb
index 00b1e1d..e81a316 100644
---
a/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_rewriting.rb
+++
b/vendor/plugins/facebooker/lib/facebooker/rails/facebook_url_rewriting.rb
@@ -11,7 +11,7 @@ module ::ActionController
     def link_to_canvas?(params, options)
       option_override = options[:canvas]
       return false if option_override == false # important to check for
false. nil should use default behavior
-      option_override || @request.parameters["fb_sig_in_canvas"] == "1" ||
@request.parameters[:fb_sig_in_canvas] == "1"
+      option_override || (@request.parameters["fb_sig_in_canvas"] == "1")
||  (@request.parameters[:fb_sig_in_canvas] == "1") ||
(@request.parameters[:fb_sig_is_ajax]=="1")
     end

     def rewrite_url_with_facebooker(*args)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/facebooker-talk/attachments/20080710/fc90cbdb/attachment-0001.html>


More information about the Facebooker-talk mailing list