Ajax
参考:
Rails で JavaScript を使用する | Rails ガイド [公式]
Rails での javaScript について | Rails日本語ドキュメント (Ruby STUDIO)
respond_to | Rails ドキュメント (railsdoc.com)
render | Rails ドキュメント (railsdoc.com)
respond_to – ActionController::MimeResponds | Ruby on Rails API [Official]
render – AbstractController::Rendering | Ruby on Rails API [Official]
Server-generated JavaScript Responses | Signal v. Noise
使い方
参考:
Ruby on Rails の Ajax 処理のおさらい – Qiita
フル Ajax で動く Rails アプリを作ってみたよ。| Ginpen.com
Rails で remote: true と js.erb を使って簡単に Ajax (非同期通信) を実装しよう!- Qiita
Ajax を使ってパーシャルビューを render する
ArticlesController
の post
アクションに対して、articles/_ajax_response.html.erb
パーシャルをviews/articles/post.js.erb
からレンダリングして返す。現在のページの id="target"
要素を書き換える。
// views/articles/post.js.erb (function () { $('#target').html('<%= j render("articles/ajax_response") %>') })()
@user
のアトリビュート name
の値を、id="user_name"
要素のテキストとして出力する。
// views/users/update_name.js.erb (function () { const user = JSON.parse('<%= raw @user.to_json %>') $('#user_name').text(user['name']) })()
参考:
JS 形式のレスポンスと remote: true を使う – Qiita
Ajax 処理で .js.erb を使う書き方/使わない書き方 | わからん
Rails の ajax 処理で部分テンプレートのみ更新する方法が便利 | EC-CUBE な日々
new アクションを Ajax で実行する
参考:
Rails で Ajax 基本形 (Scaffold で学ぶ) – Qiita
remote: true
参考:
Demystifying :remote => true | Adam King
rails-ujs
参考:
jquery-ujs から rails-ujs への移行で気をつけること | おもしろ web サービス開発日記チラシの裏
How to make AJAX calls in Rails 5.1 with or without jQuery | Learnetto
rails/actionview/app/assets/javascripts at master · rails/rails – GitHub
XMLHttpRequest
const xhr = new XMLHttpRequest
参考:
Ajax 通信で .js.erb ファイルの呼び出しに失敗する
参考:
Rails で ajax を使おうとして format.js 指定しているのに、なぜか html が返ってしまう状態になった時・・ – Qiita
:remote => true の Ajax が動かない | Mercy のメモメモ
Rails3 の :remote => true でファイルを Ajax 送信する | なにげにブログしてます
form_for で remote: true にしているのに、HTML でリクエストされてしまう。- teratail
remote: true で挙動がかわらない – teratail
Rails remote => true confusion (no format.js?) – Stack Overflow
remote: true でフォーマットを指定する
<%= link_to "Get JSON via Ajax", ajax_path, remote: true, format: :json %>
参考:
rails の scaffold で remote form で送信後 json を取得する | joppot
How do I specify the content type? – Stack Overflow
remote: true で HTML にリダイレクトする
window.location
を変更する JavaScript コードを返す。
Turbolinks 使用時は、Turbolinks.visit
を使う。
参考:
Rails Redirect Not Going as HTML – Stack Overflow
RJS
参考:
Ruby on Rails で RJS を使って Ajax を利用する3つの方法 | sasata299’s blog
RJS を使ってみる | Rubyist Magazin (るびま)
RJS なら数行の Ruby コードで Ajax アプリを作成できる | @IT
What is “RJS”? – Stack Overflow
prototype-rails
*** OBSOLETE ***
Rails >= 3.1 < 4.0
参考:
rails/prototype-rails: Add RJS, Prototype, and Scriptaculous helpers to Rails 3.1+ apps – GitHub