Hi all
I have some methods in application.rb and make them accessible to view
using
helper_method :xxx
Sadly they don’t seem to be available in mailer templates? Is that
normal? Or did I miss something?
Thanks
Josh
Hi all
I have some methods in application.rb and make them accessible to view
using
helper_method :xxx
Sadly they don’t seem to be available in mailer templates? Is that
normal? Or did I miss something?
Thanks
Josh
On 22 Oct 2008, at 14:20, Joshua M. wrote:
That’s normal. ActionMailer classes don’t inherit from
ApplicationController so it is normal that the methods in there do not
magically appear in ActionMailer instances/views.
Fred
Frederick C. wrote:
On 22 Oct 2008, at 14:20, Joshua M. wrote:
That’s normal. ActionMailer classes don’t inherit from
ApplicationController so it is normal that the methods in there do not
magically appear in ActionMailer instances/views.Fred
Thanks for your reply. But this seems a little bit strange to me… All
in all a view is a view, whether it’s a “normal” or a mailer’s one,
right?
So what can I do to access my helpers in the mailer’s view?
Thanks
Frederick C. wrote:
On Oct 23, 2:58�am, Joshua M. [email protected]
wrote:in all a view is a view, whether it’s a “normal” or a mailer’s one,
right?You’re right, it’s mostly an infratructure problem here. You just
can’t steal methods defined in a completely separate place.So what can I do to access my helpers in the mailer’s view?
One way would be to define them in a module which you include in
ApplicationController and in the mailer (Use the helper method in the
latter).Fred
Thanks for the idea. Where should I put the module?
On Oct 23, 2:58 am, Joshua M. [email protected]
wrote:
in all a view is a view, whether it’s a “normal” or a mailer’s one,
right?
You’re right, it’s mostly an infratructure problem here. You just
can’t steal methods defined in a completely separate place.
So what can I do to access my helpers in the mailer’s view?
One way would be to define them in a module which you include in
ApplicationController and in the mailer (Use the helper method in the
latter).
Fred
It seems helper :helper_name doesn’t work anymore (2.3.4)
You can use include instead:
class Mailer < AM::Base
include CoolHelper
…
end
Al Iv wrote:
Just include in your mailer model
helper :application
for example:
class MessageMailer < ActionMailer::Basehelper :application
def sent(message)
…
end
end
On Oct 25 2008, 12:35�am, Joshua M. <rails-mailing-l…@andreas-
Just include in your mailer model
helper :application
for example:
class MessageMailer < ActionMailer::Base
helper :application
def sent(message)
…
end
end
On Oct 25 2008, 12:35 am, Joshua M. <rails-mailing-l…@andreas-
Actually, I’m mistaken. I didn’t read the post properly.
You use include if you want it available in the class itself, then
helper :helper_name if you want it available in the views.
Ramon T.
On Mon, Oct 26, 2009 at 12:19 AM, Ramon T.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs