Ruby on rails 设计-让管理员用户编辑电子邮件模板?

Ruby on rails 设计-让管理员用户编辑电子邮件模板?,ruby-on-rails,ruby,devise,Ruby On Rails,Ruby,Devise,我正在使用Desive管理Rails的身份验证,作为Desive发送电子邮件进行确认、重置密码等的一部分。我可以编辑模板,使其针对我们的品牌进行定制 客户现在提出的要求更为棘手,我需要一些指导;他们希望管理员用户能够通过应用程序编辑电子邮件模板 设计邮件模板是HAML视图。我想我可以简单地将模板作为一个大字符串存储在DB中,但问题是(a)用户理解HAML(即,我需要使用中间标记或TinyMCE)(b)如何从我的控制器渲染?神奇地,它进入了正确的视野;我不清楚如何让控制器说“渲染” 从技术上讲,最

我正在使用Desive管理Rails的身份验证,作为Desive发送电子邮件进行确认、重置密码等的一部分。我可以编辑模板,使其针对我们的品牌进行定制

客户现在提出的要求更为棘手,我需要一些指导;他们希望管理员用户能够通过应用程序编辑电子邮件模板

设计邮件模板是HAML视图。我想我可以简单地将模板作为一个大字符串存储在DB中,但问题是(a)用户理解HAML(即,我需要使用中间标记或TinyMCE)(b)如何从我的控制器渲染?神奇地,它进入了正确的视野;我不清楚如何让控制器说“渲染”


从技术上讲,最后的渲染步骤似乎是拦截器;有什么想法吗?

将视图复制到你的应用程序中,然后用
=@template.render
替换所有内容,或者按照你的方式进行渲染。

另一种方法是创建一个
电子邮件
模型,使用wysiwyg编辑器编辑这些电子邮件,然后加载并渲染该电子邮件的正文(如果存在),否则渲染硬编码的模板(作为测试环境的备用方案,或者如果特定的电子邮件行被删除)

这样,就不需要再呈现haml,也不需要对管理员进行html或haml培训

以下是应涵盖所有内容的要点:

PS:不需要使用
Email
类来实现这一点,因为电子邮件的正文也可以通过其他方式直接存储在数据库中。但是,使用
ActiveRecord
可以方便地访问它。在我的情况下,我已经有了
Email

PPS:为了防止删除Desive电子邮件,我添加了一个
不可破坏的
列。另外,为了允许管理员切换回默认电子邮件,我添加了一个
活动的