将部分内容保存在数据库中

时间:2018-12-31 09:16:32

标签: ruby-on-rails

我正在构建一个应用程序,该应用程序在创建客户记录时会向客户发送欢迎电子邮件。该电子邮件的消息是从合并了各种数据元素的部分中生成的。我想获取该部分的输出并将其保存到数据库中,以便以后查看/调用。

我尝试在控制器中使用以下内容。

@description = render "new_account_we"

我在阅读https://guides.rubyonrails.org/layouts_and_rendering.html之后尝试过。

它给了我与控制器中两个渲染有关的错误,因为我在控制器中有典型的响应。我了解。因此,我无法在控制器中渲染局部视图,也不想在屏幕上实际显示它,因此我对如何执行此操作感到困惑。

您能给我一些有关实现此目标的最佳方法的建议吗。

3 个答案:

答案 0 :(得分:1)

尝试@description = view_context.render "new_account_we"

explanation

答案 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)