私には次のようなオブザーバーがいます:
class CommentObserver < ActiveRecord::Observer
include ActionView::Helpers::UrlHelper
def after_create(comment)
message = "#{link_to comment.user.full_name, user_path(comment.user)} commented on #{link_to 'your photo',photo_path(comment.photo)} of #{comment.photo.location(:min)}"
Notification.create(:user=>comment.photo.user,:message=>message)
end
end
基本的に私が使用しているのは、誰かが写真の1つにコメントを投稿したときに、特定のユーザーに簡単な通知メッセージを作成することだけです。
これはエラーメッセージで失敗します:
NoMethodError (undefined method `link_to' for #<CommentObserver:0x00000102fe9810>):
含めるActionView::Helpers::UrlHelper
とそれが解決すると思っていたのですが、効果がないようです。
では、どうすればURLヘルパーをオブザーバーに含めることができますか、それとも他の方法でこれをレンダリングできますか?私は喜んで「メッセージビュー」を部分的または何かに移動しますが、オブザーバーにはこれを移動するための関連するビューがありません...