我構建了僅api應用程序,但由於我使用的是第三方電子郵件服務,因此我需要能夠將電子郵件模板渲染爲字符串以通過它到郵件服務包裝的寶石。到目前爲止,任何將模板呈現爲字符串的嘗試都會返回一個空字符串,我懷疑這是因爲應用程序配置爲僅API。我該如何添加對渲染模板到字符串的支持?添加支持將渲染視圖渲染到僅適用於rails api的應用程序
如果不是這樣,請讓我知道。我使用郵戳服務。 postmark-rails
寶石,它集成到標準導軌郵寄根本沒有工作,普通postmark
寶石(它使用郵戳API,而不是郵戳SMTP服務器)工作正常,但現在我的問題是生成適當的電子郵件的HTML。
這就是我想:
html = render_to_string(
partial: "transfer_mailer/transfer.html.erb",
locals: {
:@body => @body,
:@campaign => @campaign,
:@chat => @chat
}
)
但它返回空字符串。
我的設置涉及Rails 5.0.1
,ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
,Sidekiq 4.2.7
,並且在使用nginx/1.10.2
和Phusion Passenger 5.1.1
生產IM。生產環境部署在一個天藍色的虛擬機中,並且我添加了入站和出站規則,以允許通過端口25,465,2525和587的流量。
任何幫助將非常感激。
對不起,但事實並非如此,尤其是因爲我有兩個模板:一個在'html.erb'中完成,另一個在'text.erb'中完成。當涉及郵件模板時,這是正常的。現在,我的解決方法是在控制器中包含'ActionView :: Helpers :: AssetTagHelper',將文件加載到'File'實例中,讀取並將它傳遞給'ERB',如[本答案](http:///stackoverflow.com/a/14351129/667599)。無論如何,感謝您的幫助:)。 – Throoze