0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

学習3日目

Last updated at Posted at 2025-06-07

今日やったこと

html全体の再読み込みではなく、一部のみ書き換える方法(hotwireを利用)

内容

上記を実装したいコントローラ(以下コントローラ)のアクションに下記を記述。

respond_to do |format|
  format.html { (実行したい処理) }
  format.turbo_stream
end

リクエストがhtmlかturbo_streamかで条件分岐するイメージだと理解しました。

また、アクション名に対応するよう、「<アクション名>.turbo_stream.erb」というファイルも合わせて作成し、下記のような内容を記述。

<%= turbo_stream.update "CSSのid" do %>
  (書き換える内容)
<% end %>

使っている教材では、
・フォローした時は「フォロー」ボタンを「フォロー解除」ボタンに変更し、フォロー数を更新する。
・フォローを外した時は「フォロー解除」ボタンを「フォロー」ボタンに変更し、フォロー数を更新する。
という処理を実現していました。

htmlファイルの記述が多くなればなるほど、メリットを実感できそうです。

感想

真っ先にJavaScriptが思い浮かんだのですが、このような方法もあるとは...。
Railsは奥深いですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?