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
上記参考記事はリダイレクト処理について説明している。
リダイレクトの方をしたい場合は上記を参考にするといい。