Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Alternative rails-ujs

Alternative rails-ujs

2025/10/18 Proposals on Rails 2025 (Roppongi.rb)
https://roppongirb.connpass.com/event/366845/

Avatar for Taketo Takashima

Taketo Takashima

September 11, 2025
Tweet

More Decks by Taketo Takashima

Other Decks in Technology

Transcript

  1. SBJMTVKTͷྺ࢙ w KRVFZ@VKT KRVFSZSBJMTHFN  w 3BJMT ೥ Ҏલ͔ΒσϑΥϧτͰೖΔHFN w

    SBJMTVKTHFN w K2VFSZͷґଘΛແͨ͘͠SBJMTVKTʹҠߦ w 3BJMT  ͔ΒσϑΥϧτ w !SBJMTVKTOQN w 3BJMT  ͔ΒXFCQBDLFSͷಋೖʹ൐͍OQNԽ w SBJMTVKTඇਪ঑   w 3BJMT  ͔ΒSBJMTVKT͸ඇਪ঑ɻ5VSCP͕σϑΥϧτʹɻ w SBJMTVKTഇࢭ   w SBJMTSBJMTϨϙδτϦͷNBJOϒϥϯν͔Β࡟আ w 3BJMTϦϦʔε   w !SBJMTVKTWҎ߱͸ϦϦʔε͞Εͳ͍ w 3BJMT&P-   w !SBJMTVKTWY΋Ҏ߱ϦϦʔε͞Εͳ͍
  2. SBJMTVKTҠߦํ๏ w  5VSCP )PUXJSF ΁ͷҠߦ w 3BJMT$PSF5FBNਪ঑ͷҠߦઌ w 

    ޓ׵ϥΠϒϥϦ΁ͷҠߦ w طଘͷޓ׵ϥΠϒϥϦͷར༻ NSVKTBMUVKTOQN  w  SBJMTVKTͷܧଓར༻ w !SBJMTVKTOQNWYͷܧଓར༻΋Մೳ w ࠓޙϝϯςφϯε ੬ऑੑରԠͳͲ ͞Εͳ͍ϦεΫ͋Γ
  3. 5VSCP )PUXJSF ΁ͷҠߦ w 3BJMT$PSF5FBNਪ঑ͷҠߦઌ w ͨͩ͠ɺطଘͷ3BJMTΞϓϦͷҠߦ͸େม͔΋  w 41"

    4JOHMF1BHF"QQMJDBUJPO తͳڍಈʹมΘΔ w ్தͰҠߦ͢Δͷ͸Өڹ͕େ͖͍ w 7JFXEBUBଐੑมߋ NFUIPEDPO fi SN  w ·ͨ͸CVUUPO@UPʹஔ͖׵͑ = link_to "Destroy", task_path(@task), method: :delete = link_to "Destroy", task_path(@task), data: { turbo_method: :delete } ࢀߟIUUQTEFWUPUIPNBTWBOIPMEFSIPXUPNJHSBUFSBJMTVKTUPIPUXJSFUVSCPIEI
  4. ޓ׵ϥΠϒϥϦ΁ͷҠߦ NSVKT w NSVKT w IUUQTNSVKTOFUMJGZBQQ w SBJMTVKTޓ׵ϥΠϒϥϦ w ͋ͱͪΐͬͱ͕ΠϚΠν

    w 3BJMTͰҰ෦ಈ͔ͳ͍ڍಈ͋ Γ w ϦϦʔεޙϝϯς͞Ε͍ͯͳ͍ w ଞͷޓ׵ϥΠϒϥϦͷબ୒ࢶ͸ҙ֎ ͱগͳ͍
  5. ࣗ෼ͷҠߦઌͷݕ౼ w  5VSCP )PUXJSF ΁ͷҠߦ w BQQWJFXTͷมߋ͕ଟ͗ͯ͢5VSCP΁ͷҠߦ͸ແཧͦ͏ɻɻɻ w 

    ޓ׵ϥΠϒϥϦ΁ͷҠߦ w NSVKTΛࢼͯ͠Έ͚ͨͲಈ͔ͳ͍έʔε͕͋ͬͨΓɺϝϯς͞Εͯͳ ͍ɻɻɻ w  SBJMTVKTͷܧଓར༻ w ࠷ޙͷखஈ͸͜Ε͔ͳ͊  w  ޓ׵ϥΠϒϥϦࣗ࡞  /FX  w ͳ͍ͳΒ࡞Ε͹͍͍
  6. BMUVKTOQNͷػೳ w Ҡ২͓ͨ͠΋ͳػೳ w ֬ೝμΠΞϩά w (&5Ҏ֎ͷ)551ϦΫΤετૹ৴ w 4VCNJUϘλϯͷμϒϧΫϦοΫ๷ࢭ w

    ඇରԠ w EBUBSFNPUFଐੑΛ࢖ͬͨ"KBYϦΫΤετ w ಠࣗػೳ w ػೳ୯ҐͰͷར༻ ྫ֬ೝμΠΞϩάͷΈ࢖͍͍ͨ
  7. BMUVKTΛ࢖ͬͨҠߦํ๏ w OQNΛ௥Ճ w SBJMTVKTΛݺͼग़͍ͯ͠ΔՕॴΛҎԼͷΑ͏ʹมߋ w BQQWJFXTมߋෆཁʂʂ // your-app.js +

    import AltUjs from "alt-ujs" + AltUjs.start() - import Rails from "@rails/ujs" - Rails.start() $ npm install alt-ujs
  8. ·ͱΊ w SBJMTVKTͷҠߦํ๏ w )PUXJSF 5VSCP ΁ͷҠߦ w ޓ׵ϥΠϒϥϦ΁ͷҠߦ w

    SBJMTVKTͷܧଓར༻ w BMUVKTΛ࢖ͬͨҠߦํ๏ w SBJMTVKTͷҠߦઌʹࠔ͍ͬͯΔํ͸ɺBMUVKTΛͥͻ࢖ͬͯΈͯͩ͘͞ ͍ʂ