問題一覧に戻る
中級ビューとアセット
問題48: Turbo - Hotwire基礎
RailsのHotwireの中核であるTurboの基礎を学習します。Turboを使うと、カスタムJavaScriptを書かずに高速でモダンなウェブアプリケーションを構築できます。リンクのクリックやフォーム送信をインターセプトし、AJAXリクエストに変換して変更されたページの一部だけを更新します。
# Turbo Frameを定義
<%= id: "post_1" do %>
<h2><%= @post.title %></h2>
<%= link_to "Edit", edit_post_path(@post) %>
<% end %>
# 特定のフレームをターゲット
<%= link_to "Edit", edit_post_path(@post),
data: { : "post_1" } %>
# Controller response:
# Turbo Streamで更新
<%= turbo_stream. "posts" do %>
<%= render @post %>
<% end %>