我有如下的模塊內定義的兩個郵件收發器類:模板未被拾取正確對郵寄者
1.應用程序/郵寄者/ my_mailers/mailer_a.rb
module MyMailers
class MailerA < BaseMailer
def main
mail(:to => '[email protected]', :subject => 'Mail Subject')
end
end
end
2.應用/mailers/my_mailers/mailer_b.rb
module MyMailers
class MailerB < MailerA
def some_method
end
end
end
和所有的基地班郵寄:應用程序/郵寄/ base_mailer.rb
class BaseMailer < ActionMailer::Base
...
...
end
現在模板,這些郵件程序的諧音存儲在(與一些HTML代碼):
mailer_a模板
app/views/my_mailers/mailer_a/main.html.erb
app/views/my_mailers/mailer_a/_header.html.erb
app/views/my_mailers/mailer_a/_body.html.erb
app/views/my_mailers/mailer_a/_footer.html.erb
個mailer_b模板
/app/views/my_mailers/mailer_b/some_random_templ.html.erb
的樣本內容app/views/my_mailers/mailer_a/main.html.erb
<% render partial: 'header' %>
<% render partial: 'body' %>
<% render partial: 'footer' %>
問題: 當我嘗試調用MailerB的main()方法,它應該調用main()的MailerA的方法(因爲沒有可用於MailerB類的主要方法),該方法依次試圖通過海上的mail()方法調用發送郵件在app/views/my_modules/mailer_b
目錄中輸入main
模板。但mailer_b
觀點沒有任何main
模板,所以應該退回到父類的觀點是mailer_a
views目錄,並開始渲染main.html.erb
但在我的情況下,接收到的郵件始終是空的,因爲如果沒有找到模板我認爲搜索模板只停留在app/views/mailer_b/
目錄,並且不會繼續進行郵件程序繼承。
我也曾嘗試使用:template_path機制,但結果還是一樣的(空郵)
任何人誰可以提出這樣的情況下,一些修復/解決方案?請讓我知道我是否應該提供更多細節。
使用Rails版本:3.2.1x
感謝
'mailer_a'和'mailer_b'模板被歸類爲郵寄一些特定的目的,因此我杵他們到'my_mailers'模塊,任何新ex:mailer_c的類似郵件將成爲同一模塊的一部分。 –
我試着按建議移除模塊'my_modules',但仍然沒有選擇合適的模板。 –