2013-01-18 37 views
0

問候所有...我的控制器找不到我的(動作)梅勒!

我想弄清楚,我從來沒有見過,應該不是所有的賬目發生的一個問題...

我使用Rails 3.0.12用一個簡單的/標準的ActionMailer設置:

  • 我已經HelpRequestMailer在app /郵寄
  • 我有HelpRequestsController在app /控制器

第一個問題......當我叫我的控制器中的郵件...

help_request = HelpRequest.new(PARAMS [:help_request]) ... HelpRequestMailer.help_request_email(help_request).deliver

我得到以下錯誤:NameError(未初始化的常量HelpRequestsController :: HelpRequestMailer)

這本身就很奇怪。

當我添加以下...

需要File.expand_path( '../../郵寄/ help_request_mailer',FILE

...控制器的頂部(我期望的路徑是'../mailers/help_request_mailer',但不起作用) - 我不應該這樣做 - 控制器似乎找到了郵件,但似乎並不認識它是什麼/知道如何處理它。我得到以下錯誤:

NoMethodError(未定義的方法`help_request_email」的HelpRequestMailer:類)

這在技術上是真正的...有在HelpRequestMailer沒有help_request_email類的方法......這是一個實例方法(如指定由文件)。

我的ActionMailer配置家住的config/application.rb中

任何幫助/建議將不勝感激...

+0

請顯示您的郵件程序的文件名和源代碼。 –

+0

類HelpRequestMailer <的ActionMailer ::基地 默認:從=> 「[email protected]」 DEF help_request_email(help_request) @help_request = help_request 郵件(:到=> [ '[email protected]', 「[email protected]。com'], :subject =>「[Help request]已收到幫助請求」) end end –

回答

0

我有這個問題太,它原來是一個完全的情況下,無用的錯誤信息。在我的情況下,這只是我的一些代碼中的動作郵件程序或相關視圖的語法錯誤。

我認爲發生的事情是,當Rails無法正確解析郵件程序或查看代碼時,它只是繞過文件,並且從未實例化動作郵件對象,導致控制器中出現錯誤。

如果Rails在動作郵件代碼本身出錯,我會更喜歡它。