我有一个这样的控制器动作:
def get_build_output
@project = Project.find(params[:project_id])
@build_num = params[:build_num]
has_more = true
while has_more == true
response = jenkins_client.job.get_console_output(@project.name, @build_num, 0, "html")
@output = response["output"]
has_more = response["more"]
respond_to do |format|
format.js
end
end
end
我有一个get_build_output.js.erb
文件:
$("#build_output").append("<%= raw escape_javascript(@output) %>");
我想要的是不断地从远程调用中获取输出并将其渲染到视图中,直到 has_more 为假。目前,上面的设置只渲染一次,不再渲染。
如何从控制器多次重新渲染页面?有没有更好的方法来做我想要完成的事情?