Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails使用JSON对象呈现部分_Javascript_Ruby On Rails_Ruby_Ajax - Fatal编程技术网

Javascript Rails使用JSON对象呈现部分

Javascript Rails使用JSON对象呈现部分,javascript,ruby-on-rails,ruby,ajax,Javascript,Ruby On Rails,Ruby,Ajax,在我的rails应用程序中,在创建了一个post之后,我有一个javascript回调,它轮询处理端点以检查图像是否已完成处理,然后更新视图,如下所示: 创建.js.erb创建回调 这很好,但是我想获取ajax中返回的数据,并用这些数据呈现已经存在的_post.html.erb部分 类似于返回更新后的@post实例,然后将该对象渲染为部分对象 create.js.erb中的“” 任何想法都会大有帮助,谢谢 我能够通过在json对象内部将部分呈现为HTML字符串来实现它,类似于在这个问题中所做的:

在我的rails应用程序中,在创建了一个post之后,我有一个javascript回调,它轮询处理端点以检查图像是否已完成处理,然后更新视图,如下所示:

创建.js.erb创建回调

这很好,但是我想获取ajax中返回的数据,并用这些数据呈现已经存在的_post.html.erb部分

类似于返回更新后的@post实例,然后将该对象渲染为部分对象

create.js.erb中的“


任何想法都会大有帮助,谢谢

我能够通过在json对象内部将部分呈现为HTML字符串来实现它,类似于在这个问题中所做的:

我将post_controller.rb中的if语句更改为:

if !@post.image_processing?
  data[:partial] = render_to_string(@post)
end
然后在create.js.erb中将回调更改为:

$("#js-capture-container").html(data.partial);

非常好,非常干净。

通常在开始时,您会渲染出使用@post对象的部分。然后,您可以使用params中的数据更新post,然后执行
render:partial=>“posts/my_partial”,“locals=>{:post=>@post}
之类的操作。
if !@post.image_processing?
  data[:partial] = render_to_string(@post)
end
$("#js-capture-container").html(data.partial);