問題:爲什麼該方法是不確定的,如果它只是在那裏?ActionMailer - NoMethodError:未定義的方法X for MyMailer:類
詳情:
我有一個非常簡單的郵件類:
class ProductMailer < ApplicationMailer
def sample_email
mail(to: "[email protected]") # I hardcode my own email just to test
end
end
和一個非常簡單的調用從的ProductsController:
def sample_email
ProductMailer.sample_email().deliver_later
redirect_to @product, notice: 'Email was queued.'
end
電子郵件發送失敗。我使用Sidekiq在後臺處理電子郵件。該Sidekiq的Web UI顯示失敗作業的嘗試次數頁面,我可以看到失敗的原因:
NoMethodError: undefined method `sample_email' for ProductMailer:Class
我試圖重命名的方法,並與rails server
重新啓動服務器,但這些方法都去除錯誤。我沒有使用任何命名空間。
問題:爲什麼該方法不確定,如果它只是在那裏?
注:我發現一個偶然的機會,該方法是發現,如果我將其命名爲notify
,但也許是因爲我從覆蓋的ActionMailer基類的一些方法,我不知道。
不ApplicationMailer從繼承的ActionMailer :: Base的? –
是的,ApplicationMailer繼承自ActionMailler :: Base。我用'rails generate mailer'生成郵件。 –