我正在开发一个包含发布到 EventBrite 的事件的项目。一个 Event 有许多字段(Bio、Image 等),它们将作为 HTML blob 发布到 EventBrite。直接从模型生成 HTML 感觉很脏,我认为我宁愿看到类似邮件是如何完成的,但感觉就像我在重新发明轮子。
有什么建议吗?
我正在开发一个包含发布到 EventBrite 的事件的项目。一个 Event 有许多字段(Bio、Image 等),它们将作为 HTML blob 发布到 EventBrite。直接从模型生成 HTML 感觉很脏,我认为我宁愿看到类似邮件是如何完成的,但感觉就像我在重新发明轮子。
有什么建议吗?
您应该使用装饰器模式。
这个 Railscast中描述了一个示例。
# @param view_name [String]
# @param locals [Hash] containing the variables you want to pass to the view (I guess only the decorator itself)
def render(view_name, locals = {})
filename = File.join "app", "views", "decorators", "#{view_name}.html.erb"
template = File.read filename
eruby = Erubis::Eruby.new(template)
eruby.result locals
end