在我的控制器中,我有一个方法定义为:
def self.store_pdf(id)
...
end
在该方法中,我需要调用 render_to_string 来呈现正确的文件/布局:
render_to_string(
:action => "../view/current_version/show.pdf.erb",
:layout => false)
但是因为 render_to_string 既是实例方法又是受保护的,我需要执行以下操作:
me = self.new # self is the cortroller
me.send(:render_to_string,
:action => "../view/current_version/show.pdf.erb",
:layout => false)
但是还有一些依赖关系,例如 render_to_string 需要工作的响应对象,如下所示:http: //apidock.com/rails/ActionController/Base/render_to_string
所以,我开始添加它们
me.send(:response=, ActionController::Response.new)
但是,需要定义越来越多的全局实例变量,我认为仅仅尝试让一种静态方法工作就太费力了。
该方法需要是静态的,以便delayed_job 稍后可以在后台运行该方法。
任何人都知道如何解决这个问题?