1. ホーム
  2. jquery

[解決済み] jquery-rails」と「jquery-ui-rails」は、1つのプロジェクトで管理することができるのでしょうか?

2022-02-12 12:42:01

質問内容

を使用したRailsアプリがあります。 Rails 5.1.6ruby 2.3.5p376

私はこの2つの宝石を Gemfile

gem 'jquery-rails', '~> 4.3.3'  
gem 'jquery-ui-rails', '~> 6.0.1'

show.html.erbでは、以下のようにしています。

<script>
$( function() {
  $( "#datepicker" ).datepicker();
} );
</script>

<p>Date: <input type="text" id="datepicker"></p>
<p id="notice"><%= notice %></p>

application.jsの中

//= require jquery-ui
//= require jquery
//= require rails-ujs
//= require turbolinks
//= require_tree .

application.css内

/*
 *= require jquery-ui
 *= require_tree .
 *= require_self
 */

ブラウザに次のようなエラーが表示されるようになりました。

Uncaught ReferenceError: jQuery is not defined
at application

アプリから「jquery-ui-rails」を削除すると、jqueryの機能が正常に動作するようになります。

解決方法は?

これはあなたのエラーです。

//= require jquery-ui
//= require jquery

依存するスクリプトが含まれる 順番に の場合、すなわち jquery-ui がロードされると、jQuery が見つかりません (次にロードされるはずですが、スクリプトの実行がエラーで終了してしまい、続行できません)。

これを解決するには jquery 前に jquery-ui :

//= require jquery
//= require jquery-ui