ActionMailer e undefined method `delete'

Ciao a tutti, stavo provando ad usare ActionMailer, ma anche dopo aver
configurato tutto correttamente, eseguo un controller di test semplice:

class TestController < ApplicationController

def ship_order
order = Order.find(6)
email = OrderMailer.create_confirm(order)
OrderMailer.deliver(email)
render(:text => ‘OK!’)
end

end

E ottengo sempre questo errore:

undefined method `delete’ for #Order:0x3458a00

Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1860:in
method_missing' /Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/template_error.rb:87:inremove_deprecated_assigns!’
/Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/template_error.rb:86:in
each' /Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/template_error.rb:86:inremove_deprecated_assigns!’
/Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/template_error.rb:14:in
initialize' /Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/base.rb:266:innew’
/Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/base.rb:266:in
render_file' /Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/action_view/base.rb:283:inrender’
/Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionmailer-1.3.3/lib/action_mailer/base.rb:481:in
render' /Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionmailer-1.3.3/lib/action_mailer/base.rb:476:inrender_message’
/Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionmailer-1.3.3/lib/action_mailer/base.rb:424:in
create!' /Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionmailer-1.3.3/lib/action_mailer/base.rb:385:ininitialize’
/Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionmailer-1.3.3/lib/action_mailer/base.rb:332:in
new' /Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/lib/ruby/gems/1.8/gems/actionmailer-1.3.3/lib/action_mailer/base.rb:332:inmethod_missing’
#{RAILS_ROOT}/app/controllers/test_controller.rb:5:in ship_order' /Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/bin/mongrel_rails:16:inload’
/Applications/Locomotive2/Bundles/standardRailsMar2007.locobundle/i386/bin/mongrel_rails:16

Non ho proprio idea di cosa fare in questo caso, perchè non credo sia un
mio problema di configurazione…

Sapete aiutarmi!?

Grazie… ciao!

On 10/31/07, Niko P. [email protected] wrote:

undefined method `delete’ for #Order:0x3458a00

Sembra non esistere il metodo delete…dove fai questa chiamata?

Andrea F. wrote:

On 10/31/07, Niko P. [email protected] wrote:

undefined method `delete’ for #Order:0x3458a00

Sembra non esistere il metodo delete…dove fai questa chiamata?

Non la faccio mai! Eseguo solo quell’azione che ho messo nel primo
post… per la configurazione ho seguito la guida
“HowToSendEmailsWithActionMailer” e credo sia giusta…

Non la faccio mai! Eseguo solo quell’azione che ho messo nel primo
post… per la configurazione ho seguito la guida
“HowToSendEmailsWithActionMailer” e credo sia giusta…

strano…neanche all’intenro del metodo in cui crei la mail?

maner never wrote:

Andrea F. wrote:

Non la faccio mai! Eseguo solo quell’azione che ho messo nel primo
post… per la configurazione ho seguito la guida
“HowToSendEmailsWithActionMailer” e credo sia giusta…

strano…neanche all’intenro del metodo in cui crei la mail?

Il delete viene richiamato in ActionView::TemplateError

  def remove_deprecated_assigns!
    ActionController::Base::DEPRECATED_INSTANCE_VARIABLES.each do 

|ivar|
@assigns.delete(ivar)
end
end

Sembra quindi che @assigns sia valorizzata in modo incorretto. Altro non
so…

Quindi cosa devo fare per farlo andare!? Può essere che ci sia un errore
nel mio template??

Andrea F. wrote:

Non la faccio mai! Eseguo solo quell’azione che ho messo nel primo
post… per la configurazione ho seguito la guida
“HowToSendEmailsWithActionMailer” e credo sia giusta…

strano…neanche all’intenro del metodo in cui crei la mail?

Il delete viene richiamato in ActionView::TemplateError

  def remove_deprecated_assigns!
    ActionController::Base::DEPRECATED_INSTANCE_VARIABLES.each do 

|ivar|
@assigns.delete(ivar)
end
end

Sembra quindi che @assigns sia valorizzata in modo incorretto. Altro non
so…

Niko P. wrote:

maner never wrote:

Andrea F. wrote:

Quindi cosa devo fare per farlo andare!? Può essere che ci sia un errore
nel mio template??

Usando OrderMailer.deliver_ACTION_NAME(order), ti funziona?

maner never wrote:

Niko P. wrote:

maner never wrote:

Andrea F. wrote:

Quindi cosa devo fare per farlo andare!? Può essere che ci sia un errore
nel mio template??

Usando OrderMailer.deliver_ACTION_NAME(order), ti funziona?

Ho trovato l’errore. Praticamente prendevo spunto sia dal howto che dal
libro “Sviluppare applicazione web con Rails”, dove forse c’è una
configurazione di actionmailer un po vecchia. In pratica non passavo un
hash al metodo body, ma solo una variabile d’istanza …
ora sembra funzionare tutto.

Grazie mille!
Ciao!

Andrea F. wrote:

Quindi cosa devo fare per farlo andare!? Può essere che ci sia un errore
nel mio template??

Usando OrderMailer.deliver_ACTION_NAME(order), ti funziona?

Ho trovato l’errore. Praticamente prendevo spunto sia dal howto che dal
libro “Sviluppare applicazione web con Rails”, dove forse c’è una
configurazione di actionmailer un po vecchia. In pratica non passavo un
hash al metodo body, ma solo una variabile d’istanza …
ora sembra funzionare tutto.

Grazie mille!
Ciao!

Dear Niko,
I have encountered the identical problem, but I don’t understand how you
were able to solve it. How exactly did you fix it, do you remember?
Thank you so much.