はじめに
Ruby on Rails 7では、この目的を達成するためにHotwireスタックの一部であるTurbo Driveが導入された。この記事では、Turbo Driveの核となる機能の一つ、**turbo_method
**について詳しく見ていく。
Turbo Driveとは?
Turbo Driveは、Railsアプリケーションのページ遷移とフォーム送信を高速化し、SPA(Single Page Application)に似た体験を提供するJavaScriptのライブラリである。全ページリロードの必要性を排除し、部分的なページ更新によって効率的なナビゲーションを実現する。
turbo_method
の役割
**turbo_method
は、Turbo Driveを使用する際に、HTMLフォームやリンクで使用されるHTTPメソッドを指定するためのデータ属性である。通常のリンクはGETリクエストしか生成できませんが、turbo_method
**を使用することで、DELETEやPOSTなど他のHTTPメソッドを発行できるようになる。
turbo_method
の使用例(例: 削除)
<%= link_to '削除', tweet_path(tweet), data: { turbo_method: :delete } %>
上記の例では、**link_to
ヘルパーを使用して「削除」というテキストを持つリンクを生成しています。data: { turbo_method: :delete }
**によって、このリンクがクリックされたときにDELETEリクエストを発行し、対象のツイートを削除することを指示している。
まとめ
Turbo Driveは、Railsアプリケーションにおける強力なツールである。