rails plan net costos ruby-on-rails actionmailer helpermethods

ruby on rails - plan - ¿Dónde coloco los métodos de ayuda para las vistas de ActionMailer?



sendgrid free (5)

Tengo un método que toma una serie de cadenas y las une para que hagan algo como esto:

>> my_arr => ["A", "B", "C"] >> and_join(my_arr) => "A, B, and C"

Me gustaría que mi correo tuviera acceso para poder enviar algo de información en un correo electrónico. Parece que no puedo encontrar un buen lugar para colocarlo y ponerlo en el archivo application_helper.rb y no lo encuentra allí. ¿Dónde debería ir?


+1, funcionó bien, solo una pequeña corrección:

Tienes que usar el módulo en lugar de la clase en el archivo de ayuda:

# mailer_helper.rb module MailerHelper def and_join(arr) # whatever … end end


En mi caso, para Rails 5.1, tuve que usar métodos de inclusión y ayuda, como este:

include ApplicationHelper helper :application

Y luego simplemente proceder a utilizar el método normalmente.

class MyMailer < ActionMailer::Base include ApplicationHelper helper :application def my_mailer_method my_helper_method_declared_in_application_helper .. end end


Una pregunta ya contestada, pero no conseguí dónde / qué archivo modificar de las otras respuestas de SO. Así es como lo hice:

En la parte inferior de app / config / initializers / devise.rb puede agregar esto:

Devise::Mailer.class_eval do helper :application # includes "ApplicationHelper" end

Este ejemplo incluirá los métodos en /app/helpers/application_helper.rb. En su lugar, podría incluir otro archivo de ayuda: si, por ejemplo, el método es solo para la aplicación de correo o si se usa para otro controlador. La definición que necesitaba se usa en todas partes, así que la puse en ese archivo para que todas las vistas puedan acceder a ella.


Use el método de helper en su correo para definir la clase de ayuda a usar

# mailer_helper.rb module MailerHelper def and_join(arr) # whatever … end end # my_mailer.rb class MyMailer < ActionMailer::Base helper MailerHelper … end

Entonces puedes usar los métodos en las vistas también.


to_sentence la pena ver el método de extensión to_sentence para las matrices que proporcionan los rieles.