Vraag Nieuwe rails 4.1 mailer preview action not found error


Rails heeft 607 open problemen ... dus in plaats van dat gat nog meer aan te sluiten, probeer ik het ID hier eerst. Ik heb een upgrade naar 4.1 en implementeer voorbeelden van railsmailers. Ik probeerde het upgraden van mijn bestaande mailer en het toevoegen van tests / mailers / previews map. Toen dat de volgende fout gaf, probeerde ik een nieuwe mailer te genereren. Dezelfde fout.

 class NotifierPreview < ActionMailer::Preview
    def welcome
      Notifier.welcome(User.first)
    end
  end

resulteert in deze fout:

 The action 'notifier' could not be found for Rails::MailersController

Ik heb geprobeerd Google te zoeken, de documenten, stack overflow, maar niets ontgaat deze fout.

Iedereen ervaart dit of heeft ideeën?


19
2018-06-09 02:35


oorsprong


antwoorden:


Dit komt omdat je gebruikt UserMailer met NotifierPreview. Verandering NotifierPreview naar UserMailerPreview en het zal gaan werken. Bekijk de voorbeeldimplementatie https://github.com/RichIsOnRails/ActionMailerPreviewsExample en zelfstudie.

Proost !!


7
2018-06-21 09:45



Het standaard voorbeeldpad is /test/mailers/previews maar Rspec zal dit overschrijven /spec/mailers/previews 

Je kunt het pad instellen naar wat je maar wilt met:

config.action_mailer.preview_path = "#{Rails.root}/test/mailers/previews"

52
2018-04-30 07:22



Als u rspec gebruikt, moet u ervoor zorgen dat de rspec-rails gem wordt geladen in de ontwikkelomgeving, anders zoekt Rails naar de voorbeelden in de map / test, niet / spec.


4
2017-10-08 05:12



Verwijder de lijn (en)

get '/:controller(/:action(/:id))'
get '/:controller(/:action(/:id))(.:format)'

van jouw routes.rb

Zoals @hellion in een reactie op het vorige antwoord zegt, is dit de oplossing voor dit probleem.


3
2018-01-25 16:28