サインイン | 登録



rails-ujs

Railsアプリケーションでのjquery-ujsからrails-ujsへの移行の仕方

by Makio

Ruby on Rail 5.1.0よりrails-ujsはRails本体に取り込まれました。    Unobstructed JavaScriptを提供するライブラリーとしてのjquery-ujsの役割はrails-ujsと重複です。また、Ruby on Rail 5.1.0からjqueryへの依存関係もなくなりました。         なので今後のメインテナンス、拡張性を考えてjquery-ujsからrails-ujsへ移行することにしました。    この記事では、移行の仕方を経験を踏まえて紹介します。        移行するまえに必要なこと   様々なシナリオをチェックするインテグレーションテストがあること ユニットテスト 他のGemをアップデート      1.application.jsでjquery-ujs を rails-ujsに変更         2.jQueryそのものを使い続けるかどうか決める   123ishでは当分の間jQueryは使い続けることにしました。というのも、使っているGemでjQueryに依存しているものもあり、今の時点では継続することにしまいした。ただ将来的には、jQueryを使うことはなくなるかも知れません。         3.インテグレーションテストをアップデート  色々とテストそのものをアップデートする必要もあります。   trigger() とネイティブなJavascriptである click()に変更 原因不明ながらCapybaraのclick_linkがBootstrapのモデルで使えなくなったので、不本意ながらexecute_scriptを使う。 セレクタ−としてidを使うことを徹底する。例えばclick_link("element-id")のようにidベースでコンポーネントを選んだほうが安定する        4.Sprocket からWebpackerへ移行している場合    require("@rails/ujs").start() を app/javascript/packs/application.js 先頭に入れる。これはCSRF セキュリティーエラーを起こさないために非常に重要です。          最後に  jquery-ujs から rails-ujsへの移行は比較的スムーズに行なえます。    とはいえ、この移行も影響が色々とあるので、インテ
スコア: 1.32
2020/08/16

プライバシー設定を変更しました

記事は保存されました(投稿はされていません)

サインインして続行する

国: 日本 (jp)
  • United States (us)
  • 日本 (jp)
  • Indonesia (id)
  • India (in)
利用規約 | プライバシーポリシー | 私達に関して
よくある質問 | お問い合わせ
 
© 2025 123ish