从rfacebook 到facebooker

     最近在钻研Facebook + Ruby on Rails的application,坦白说没有当初php那么顺畅。可能因为Rails本身的框架涵盖的东西太多了吧,反而PHP这样最简单直接,反而容易上手。Rfacebook和Facebooker都是Facebook Client Library based on Ruby on Rails,一开始选择前者也没有什么特别的理由,谁让人家就是Using Ruby on Rails with Facebook Platform上的首选呢。
     总体来说Rfacebook就是用Ruby on Rails来解析Facebook请求协议的解析包,如同PHP Client一样,是比较Straight地解决办法。由于有了PHP上的经验,Rfacebook的安装总体来说还是很顺利的,大概前后花了两个晚上Hello World就出来了,直接Scaffold了一个Object 就可以show在facebook上了。当然问题也就接踵而来。
     遇到的最主要问题就是路由。一方面Facebook Application是以apps.facebook.com/xiustodolist作为Context Root来解析的。另外一方面Ruby on Rails有自己的路由解析策略,例如Scaffold出来的new.html.erb中的<%=link_to ‘Back’, users_path %>都是以apps.facebook.com作为根来作路由解析的。所以已开始所有的Link都完全不对,完全没有办法点击。Google了一下,原来是Rails2.0 named routes在作怪。当然也有解决的办法,不过文中更加推荐了Facebooker地解决办法,这也是我第一次听说了Facebooker.
     之后我访问了Rfacebook的主页,看到作者推荐Facebooker的留言,还说如果Facebooker1.0 release,他就要停掉Rfacebook,嗯,还有什么理由不试试看Facebooker呢,嗯,gogogo.
     Facebooker的安装之路远没有Rfacebook来的顺利。主要遇到了两个问题。
1 Facebooker 已经从SVN搬迁到了Git上。最可恨的是SVN上最后的版本还有编译错误。网上比较著名几篇Tutorial都继承了这个错误,让初学者完全摸不到头脑。解决办法,去Git自己下载最新的版本手动安装。
2 Facebooker会按照Rails 2.0的named routes去解析request,所以面对Facebook的请求,他会最后Forward给index.fbml.erb而不是index.html.erb,不仔细看教程就会错过了,例如我。。
3 默认的respond_to没有fbml的Accept_type,所以如果你希望继续使用respond_to这么有趣的东西的话,就需要在/config/initializers/mime_types.rb中添加text/html = fbml 的mapping.
     昨天刚刚完成了Facebooker的安装,总体来说非常的Rails 2.0 oriented.路由问题也都没有出现,可以放心的使用。
 
参考:Rfacebook



Tags: facebook, facebooker, Rails, rfacebook, Ruby

无觅相关文章插件,快速提升流量