在Rails模型中生成HTML

时间:2012-08-27 11:45:17

标签: ruby-on-rails ruby-on-rails-3 architecture gem

我正在开发一个包含发布到EventBrite的事件的项目。事件有许多字段(生物,图像等),它们将作为HTML blob发布到EventBrite。直接从模型生成HTML感觉很脏,我认为我宁愿看到像邮件如何完成的东西,但感觉就像我重新发明轮子。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您应该使用decorator pattern

描述了一个例子in this 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