1

次のようなコントローラー アクションがあります。

  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 が false になるまで続きます。現在、上記の設定は 1 回のみレンダリングされ、それ以上はレンダリングされません。

コントローラーからページを複数回再レンダリングするにはどうすればよいですか? そして、私が達成しようとしていることを行うためのより良い方法はありますか?

4

1 に答える 1