application helper methods in mailers not available?

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?

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 Cheung wrote:

Frederick Cheung 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?

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

Frederick Cheung wrote:

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 Tayag