tengo un observador que se parece a esto:Rieles: Uso URL Helper con calidad de observador
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
Básicamente todo lo que estoy usando para hacer es crear un mensaje de notificación simple para un determinado usuario cuando alguien envía un comentario en una de sus fotos.
Esta falla con un mensaje de error:
NoMethodError (undefined method `link_to' for #<CommentObserver:0x00000102fe9810>):
lo que habría esperado que incluye ActionView::Helpers::UrlHelper
resolvería eso, sino que parece tener ningún efecto.
Entonces, ¿cómo puedo incluir el URL helper en mi observador, o de otra forma hacerlo de otra manera? Me encantaría mover la "vista de mensaje" a un parcial o algo, pero un observador no tiene vistas asociadas para mover esto a ...
Esto no necesariamente enviará un correo electrónico. Intento crear un modelo simple que se pueda usar para crear un aviso (como el que se encuentra en desbordamiento de pila cuando alguien publica una respuesta a su pregunta). Dependiendo de la configuración del usuario, la Notificación puede enviar el mensaje por correo electrónico o simplemente ponerlo en el panel de un usuario. Este observador simplemente está creando un mensaje de notificación pertinente a un comentario que se está creando. Si tiene una mejor sugerencia para todo el sistema, avíseme, esto me ha estado matando hoy y no he podido encontrar un buen ejemplo de este tipo de sistema de notificación para estudiar. – Andrew
... um Creo que editó después de que ya lo comenté ... :) Nunca he usado "caché" antes, ¿cómo funciona eso? – Andrew