ぼくらの研究

ぼくらのための研究をしていきます。

Rails ajaxでリロード処理

   

特殊だとは思うけど、Railsのajaxで何らかの処理をした後にリロード処理をしたい時があったのでシェア。

環境

$ ruby -v
ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-darwin18]
$ rails -v
Rails 5.2.2

実装

View


<%= link_to "ajaxで何らかの処理してリロード", ajax_method_path, remote: true %>

Module

module AjaxHelper
  def ajax_reload
    { js: "location.reload();" }
  end
end

Controller

class HogeControlller
  include AjaxHelper 

  def ajax_method
    # 何らかの処理

    respond_to do |format|
      format.js { render ajax_reload }
    end
  end
end

 

参考:https://qiita.com/geshi/items/536956b8bed7c2126187
上記参考記事はリダイレクト処理について説明している。
リダイレクトの方をしたい場合は上記を参考にするといい。