我正在构建一个应用程序,该应用程序在创建客户记录时会向客户发送欢迎电子邮件。该电子邮件的消息是从合并了各种数据元素的部分中生成的。我想获取该部分的输出并将其保存到数据库中,以便以后查看/调用。
我尝试在控制器中使用以下内容。
@description = render "new_account_we"
我在阅读https://guides.rubyonrails.org/layouts_and_rendering.html之后尝试过。
它给了我与控制器中两个渲染有关的错误,因为我在控制器中有典型的响应。我了解。因此,我无法在控制器中渲染局部视图,也不想在屏幕上实际显示它,因此我对如何执行此操作感到困惑。
您能给我一些有关实现此目标的最佳方法的建议吗。
答案 0 :(得分:1)
尝试@description = view_context.render "new_account_we"
答案 1 :(得分:0)
您可以使用rails helper render_to_string
将输出存储在变量中。您可以查看详细信息here。
答案 2 :(得分:0)
如果您打算将所有内容与数据(即数据+ html)一起保存,则可以使用Rails helper生成包含诸如
的数据的电子邮件内容在app / helpers / application_helper.rb
中module ApplicationHelper
def email_contents(some_parameters)
# Email contents with data
end
end
,在视图中,您可以像
这样使用@description = email_contents(some_parameters)