So che questa è una vecchia domanda, ma ho pensato di pubblicare una risposta comunque.
Sto indovinando che hanno un percorso simile a questo verso la fine del file routes.rb:
match '/:controller(/:action(/:id))'
Questo è un percorso 'catturare tutti'. Il codice di rotaie aggiunge le rotte di anteprima del mailer alla fine dei percorsi, quindi non vengono mai raggiunti a causa della rotta 'catch all'.
Sembra che il percorso "catch all" possa essere ritirato nelle guide 5.0? È probabilmente una buona idea rivedere i tuoi percorsi in modo da non aver bisogno di un 'catch all'. Ecco un link al problema in cui qualcuno menziona il "catch all" è in pensione a un certo punto: https://github.com/rails/rails/issues/15600
Quindi, ecco la soluzione. Utilizzare a proprio rischio!
Inserire i percorsi del mailer prima di "prendere tutto".
get '/rails/mailers' => "rails/mailers#index"
get '/rails/mailers/*path' => "rails/mailers#preview"
Ciò consentirà ai vostri mailer di lavorare e il vostro "catch all" continuerà a funzionare. Ora, questo è un trucco completo che dovrebbe essere utilizzato solo fino a quando non si è in grado di risolvere il problema di root, eliminando la necessità del percorso "catch all".
Ho trovato il seguente elenco di problemi per le rotaie, che sembra essere stato accettato e unito. Non sono sicuro di quale versione sia, ma sembra che abbiano aggiornato il codice di anteprima del mailer per anteporre i percorsi invece di aggiungerli.
https://github.com/rails/rails/pull/17896/files
Buona fortuna!