capistranoを使用してデプロイしようとしたとき、capistranoがコマンドバンドルexec rakeを使用したとき
Rails_ENV=production
Rails_GROUPS=assets
assets:precompile
このエラーがあります
couldn't find file 'jquery-ui'
(in /home/umbrosus/.rvm/gems/Ruby-1.9.3-p392@gancxadebebi/gems/activeadmin-0.5.1/app/assets/javascripts/active_admin/base.js:2)
それがうまく機能する前に、0.6にアップデートしようとすると、このエラーが発生し始めました。 0.5.1に戻りましたが、エラーはまだ残っています。私は何か悪いことをしますか?
ありがとう
「jquery-Rails」gemは、jQuery UIを最近削除しました。
https://github.com/Rails/jquery-Rails/commit/2fdcdb2633cbc6426d412c050200fc31d14b9a3b
彼らはjquery-ui-Rails gemの使用を推奨しています。
アクティブプルリクエスト (この記事の執筆時点)があり、そのgemを依存関係として追加します。ただし、ActiveAdminの開発者は、「 Rails 3. のサポートを正式に廃止するまでロックダウンします。ロックされているバージョンはjquery-Rails < 3.0.0
。
それまでの間、Gemfileを変更するだけです。
gem "jquery-ui-Rails" 非推奨、以下の@Kevinのコメントを参照
または、jquery-Railsのバージョンをダウングレードできます。
gem "jquery-Rails", "< 3.0.0"
または、Githubマスターブランチからプルすることもできます。彼らは一時的な修正を適用しました。
gem "activeadmin", github: "gregbell/active_admin"
まあ、jquery-Rails
を2.3.0
にダウングレードしたり、GitHubブランチを指定する必要はありません。 jquery-ui-Rails
を使用してください。ファイル名の違いを回避するには:
app/assets/javascripts/jquery-ui.js
を作成するだけです
//= require jquery.ui.all
app/assets/stylesheets/jquery-ui.css
を作成
/*
*= require jquery.ui.all
*/
これらは、ActiveAdminを満たすために正しいファイルをロードします
Pullリクエストは今ではAAにマージされていますが、AAの最新リリースを使用している場合、この問題は引き続き発生します。 JQuery-Railsを強制的にバージョン2.3.0にしたくないので、問題に対する代替ソリューションを以下に示します。active_admin.js
ファイルで
//= require active_admin/base
と
//= require jquery
//= require jquery_ujs
//= require jquery.ui.core
//= require jquery.ui.widget
//= require jquery.ui.datepicker
//= require active_admin/application
「jquery-Rails」を「2.3.0」にダウングレードすると、この問題も修正されました。
私の場合、jqueryの問題は、私が使用していたgemが原因でした。私はjqueryを直接使用していなかったので、app/assets/js/jquery-ui.jsをプロジェクトに追加しても役に立ちませんでした。
Gem "jquery-Rails"、 "<3.0.0"をgemfileに追加すると修正されましたが、その後すぐにターボリンクで問題が発生しました。
私の最終的なgemfile:
# Temporary fix for jquery issue
gem "jquery-Rails", "< 3.0.0"
gem 'turbolinks'
...簡単
これはすでに解決されています。しかし、私はこれに私のために働いたもう一つの解決策を与えたいです。
この問題が発生した場合、Rails 4.0.8を実行しています。
Jquery-Rails gem jquery-ui-Rails gemの明示的なバージョン番号を削除するだけです。
私は基本的にこのように見えます:
# js
gem 'jquery-ui-Rails'
gem 'jquery-Rails'
# Rails admin
gem 'Rails_admin'
Gemfile.lock
ちょっと、3つのgemすべての正しいバージョンを自動的に見つけました。