我有一个应用程序需要支持一小部分受信任的用户上传新模板。我会将它们存储在数据库或 S3 中。我的问题是:我如何告诉控制器呈现给定的模板?当然,我可以通过手动 ERB 调用来做到这一点:
class MyController < ApplicationController
def foo
template_source = find_template(params[:name])
template = Erubis::Eruby.new(template_source)
render :text => template.result({ :some => @data })
end
end
但是后来我失去了诸如帮助器和实例变量的自动复制之类的东西。