在我的控制器中,我希望将其中一个HTML部分渲染为字符串变量,然后使用Pusher发送它,并使用JS文件的常规渲染完成操作(这是AJAX请求)。
我正在进行AJAX调用,我的操作如下:
def create
@my_Object = ...
@html_content = escape_javascript(render_to_string :partial => 'my_partial', :object => @my_object )
Pusher.trigger(
'my-channel',
'my-event',
{ message: @html_content }
)
end
根据我的理解,我希望看到" create.js"文件在此操作结束时呈现,但情况并非如此。
如果在" create.js"我放: 警报("测试&#34);
我没有看到对话框,即使在rails日志中我确实看到" create.js"部分呈现。
当我删除render_to_string部分时,一切正常," create.js"得到适当的渲染。
你能帮忙吗?我错过了什么?答案 0 :(得分:0)
似乎修复是显式调用 respond_to do | format | format.js 端
在render_to_string之后。
这很奇怪,因为如果没有render_to_string调用,你就无法做到这一点......