У меня настроен стандартный рельс наблюдателя:
class TipObserver < ActionController::Caching::Sweeper
observe Tip
def after_save(tip)
profile_link = link_to tip.profile.name, profile_path(tip.profile)
Profile.followers(tip.quality).each{|profile|
message = Message.new
message.sender = Profile.first
message.recipient = profile
message.subject = "New Tip #{tip.name}"
tip_link = link_to tip.name, tip_path(tip)
message.body = "Hey #{profile.name}\n Here is a tip for you..#{tip_link} from #{profile_link}"
message.save!
}
end
end
Да, я знаю, что он настроен как Sweeper - он в основном такой же, как Observer, но имеет доступ к методу link_to, но, похоже, у него не настроены маршруты. Методы profile_path и tip_path имеют значение nil.
Возможно, есть другой способ добиться этого? Возможно, более "Rails Way"?
Было бы здорово, если бы был способ создать сообщение с шаблоном представления для message.body.
Есть предложения?