我想使用观察者将内容发送到 Facebook Open Graph。
粗略地说,类似:
class ItemObserver < ActiveRecord::Observer
observe :item
def after_create(item)
FbGraph::User.me(item.user.fb_token).og_action!('blah:add', :item => ...)
end
end
在控制器或视图中,很明显我可以使用url_for
or item_url
。但是如何在观察者内部获取 URL?观察者绝对是放置此代码的正确位置,因为可以在许多地方创建项目,并且将调用放在控制器中的每个操作上听起来是错误的。
好吧,这听起来像是“违反 MVC”,但在那种情况下,我认为它是必要的。
任何想法如何在没有黑客的情况下制作它?