24 Sep
duccio

duccio il 24 September 2007 parla di Rails Snippet

Rails - usare url_for in un modello e in un observer

Oggi ho provato ad utilizzare l’url_for in un observer ma alla prima non ha funzionato. Non capivo come mai nel modello e nell’osservatore non funzionava mentre nell’ActionMailer si, la prima cosa che ho fatto è stato includere nel modello UrlHelper per avere a disposizione il link_to (e credevo anche l’url_for):

    1 class FriendObserver < ActiveRecord::Observer
    2   
    3   #Include helper for use url_for in a model
    4   include ActionView::Helpers::UrlHelper

Ma questa soluzione ancora non risolve il problema; controllando gli altri errori ho provato a includere ActionController::UrlWriter definendo l’host:

    1 class FriendObserver < ActiveRecord::Observer
    2   
    3   #Include helper for use url_for in a model
    4   include ActionView::Helpers::UrlHelper
    5   include ActionController::UrlWriter
    6 
    7   default_url_options[:host] = CONFIG[:app_host]
    8 

In questo modo potete usare l’ url_for senza alcun problema. Riguardando meglio la classe ActionMailer::Base tra i suoi moduli inclusi c’è l’ActionController::UrlWriter

Scrivi un commento