我在使用Nginx製作環境中執行Delayed_Job_Active_Record gem時遇到問題。用戶提交「聯繫我們」的形式,相關的控制器動作是由Nginx的調用,下面的代碼行失敗:Delayed_Job使用Nginx時的NoMethodError
凡有關方法是:
def send_contact_form
ContactMailer.contact_us(self).deliver
end
發展ENV:OK
- 在我的本地機器上,我有Webrick提供的頁面。一切運行良好,延期工作通過'Delayed_Jobs'表發送併發送電子郵件。
生產信封 - Rails的控制檯:OK
- 在服務器上,如果我創建
@contact
和手動調用@contact.delay.send_contact_form
,延遲工作經歷延遲的作業表,可以收發電子郵件發送。
生產信封 - 使用WEBrick:OK
- 在服務器上,如果我啓動了一個導軌通過Web界面我和
@contact
輸入數據,然後提交的WEBrick服務器該工作經過延遲的工作表併發送電子郵件。
生產信封 - Nginx的:ERROR
- 該應用程序是目前Nginx的服務。
- 如果我通過Nginx訪問界面並輸入
@contact
的數據並提交頁面掛起。 - 生產日誌給出關於控制器動作下面的錯誤,(參考上面的線):
NoMethodError(未定義的方法`延遲」爲#<聯繫人:0x000000052962b0>)
我也證實,Rails,Ruby和Delayed_Job_Active_Record和Daemons gems的版本在兩種環境中都是相同的。
任何幫助將不勝感激,因爲我一直卡在這一個一段時間。我想找到一個適用於Nginx的解決方案,它給了我與'延遲工作'相同的功能。
謝謝。