我正在尝试使用delayed_job
通过xml更新远程数据库。
在我的lib文件夹中,我放置了一个文件,其中包含一个应该使用template.xml.builder
执行render_to_text
的类,但我得到了:
undefined method `render_to_string' for #<SyncJob:0x7faf4e6c0480>...
我做错了什么?
发布于 2012-09-26 09:40:45
ac = ActionController::Base.new()
ac.render_to_string(:partial => '/path/to/your/template', :locals => {:varable => somevarable})
发布于 2014-07-14 11:19:03
我有一个未定义的帮助器方法的问题,然后我使用了ApplicationController
ApplicationController.new.render_to_string
发布于 2010-04-21 03:47:05
在ActionController::Base
中定义了render_to_string
。因为类/模块是在Rails控制器的作用域之外定义的,所以该函数不可用。
您将不得不手动呈现该文件。我不知道您的模板(ERB、Haml等)使用的是什么。但是您需要加载模板并自己解析它。
所以如果雇员再培训局,就像这样:
require 'erb'
x = 42
template = ERB.new <<-EOF
The value of x is: <%= x %>
EOF
puts template.result(binding)
您必须打开模板文件并将内容发送到ERB.new
,但这是一个留给您的练习。这是雇员再培训局的docs。
这就是一般的想法。
https://stackoverflow.com/questions/2678045
复制相似问题