オブザーバーを使用して、FacebookOpenGraphにデータを送信したいと思います。
大まかに言って、次のようなものです。
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
コントローラまたはビューでは、またはを使用できることは非常に明白ですitem_url
。しかし、オブザーバー内でURLを取得するにはどうすればよいですか?アイテムは多くの場所で作成される可能性があり、コントローラーのすべてのアクションにその呼び出しを置くことは間違っているように聞こえるので、オブザーバーは間違いなくこのコードを置くのに適切な場所です。
そうですね、「MVC違反」のように聞こえますが、その場合は必要だと思います。
ハックなしでそれを作る方法のアイデアはありますか?