ruby on rails 4 - for - Error en la nueva vista previa del anuncio publicitario de Rails 4.1 no encontrado
sendgrid with actionmailer (4)
Rails tiene 607 problemas abiertos ... así que, en lugar de tapar ese agujero aún más, pensé en intentarlo aquí primero. Me actualicé a 4.1 y estoy implementando las vistas previas de los envíos de rieles. Intenté actualizar mi correo existente y agregar el directorio tests / mailers / previews. Cuando eso dio el siguiente error, intenté generar un nuevo correo. Mismo error.
class NotifierPreview < ActionMailer::Preview
def welcome
Notifier.welcome(User.first)
end
end
resulta en este error:
The action ''notifier'' could not be found for Rails::MailersController
He intentado buscar en google, los documentos, el desbordamiento de pila, pero nada se escapa a este error.
¿Alguien ha experimentado esto o tiene alguna idea?
Esto se debe a que está utilizando UserMailer
con NotifierPreview
. Cambie NotifierPreview a UserMailerPreview y comenzará a funcionar. Verifique la implementación de ejemplo https://github.com/RichIsOnRails/ActionMailerPreviewsExample y tutorial.
¡¡Aclamaciones!!
La ruta de vista previa predeterminada es /test/mailers/previews
pero rspec reemplazará esto para que sea /spec/mailers/previews
Puedes configurar el camino para que sea lo que quieras con:
config.action_mailer.preview_path = "#{Rails.root}/test/mailers/previews"
Quitar la (s) linea (s)
get ''/:controller(/:action(/:id))''
get ''/:controller(/:action(/:id))(.:format)''
de tus routes.rb
. routes.rb
Como @hellion dice en un comentario sobre la respuesta anterior, esta es la solución a este problema.
Si está utilizando rspec, asegúrese de que la rspec-rails
se esté cargando en el entorno de desarrollo; de lo contrario, Rails buscará las vistas previas en la carpeta / test, no / spec.