【问题标题】:render_to_string breaks action renderingrender_to_string 中断动作渲染
【发布时间】:2015-09-03 08:49:12
【问题描述】:

在我的控制器中,我想将其中一个 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”中我输入: 警报(“测试”);

即使在 rails 日志中我确实看到渲染了“create.js”部分,我也没有看到该对话框。

当我删除 render_to_string 部分时,一切正常,“create.js”得到正确渲染。

你能帮忙吗?我错过了什么?

【问题讨论】:

    标签: ruby-on-rails ajax ruby-on-rails-4


    【解决方案1】:

    似乎解决方法是显式调用 respond_to 做 |格式| 格式.js 结束

    在 render_to_string 之后。

    这很奇怪,因为没有 render_to_string 调用你不必这样做......

    【讨论】:

      猜你喜欢
      • 2019-08-07
      • 2017-11-12
      • 1970-01-01
      • 2020-02-10
      • 1970-01-01
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多