hi Guys
I have now spent hours on this and turn to you in desperation.
I am using Actionmailer to fetch emails, but I need to pass a userid to
the receive method, so that the receive method knows what user to pass
the email to. I tried:
(ATTEMPT 1)
class PokeMailer < ActionMailer::Base
def receive(email,userid)
…
end
I then invoke the receipt of email with
task = PokeMailer.receive(m.pop,userid)
But I get the error ‘wrong number of arguments (2 for 1)’
So I though - ok - the actionmailer receive method must be expecting one
argument. Lets create another method to accept the userid and call the
receive method with only the raw email. So I wrote as second PokeMailer
method:
(ATTEMPT 2)
class PokeMailer < ActionMailer::Base
def getemail(email,userid)
@userid=userid
PokeMailer.receive(email)
end
def receive(email)
…
end
…
end
and call it with
task = PokeMailer.getemail(m.pop,userid)
Now I get the error ‘undefined method `getemail’ for PokeMailer:Class’
(kindof figured this out - changed def getemail to def self.getemail
My third attempt was to try and instantiate an instance of PokeMailer
with a initialize method:
(ATTEMPT 3)
class PokeMailer < ActionMailer::Base
def intitalize (userid)
@userid = userid
super #not sure if this is needed?
end
def receive(email)
…
end
…
end
and then call this with something like:
pm = PokeMailer.new(userid)
task = pm.receive(m.pop)
This fails because it seems that pm == nil - it doesn’t event get
created?!!!
I am at whits’ end. Please save me!
Thanks for anything - even sympathy would help
Pieter H.