Ruby on Rails: "не удалось найти файл" jquery-ui "
Я только что сделал новую установку и смог получить доступ к странице рельсов по умолчанию на localhost: 3000, но когда я установил массив activeadmin, у меня возникла проблема при доступе/admin/и была получена следующая ошибка:/admin/login (я был перенаправлен, но это то, что я увидел на странице:)
Что мне делать? Я сделал обновление пакета и не исправил его.
Вот частичное сообщение об ошибке:
Звездочки:: FileNotFound в Active_admin/devise/sessions # new
Отображение/usr/local/rvm/gems/ruby-1.9.3-p392/gems/activeadmin- > 0.6.0/app/views/layouts/active_admin_logged_out.html.erb, где строка # 12 поднята:
не удалось найти файл 'jquery-ui' (в/usr/local/rvm/gems/ruby-1.9.3-p392/gems/activeadmin- > 0.6.0/app/assets/javascripts/active_admin/base.js/2)
вот мой файл gem:
source 'https://rubygems.org'
gem 'rails', '3.2.12'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
gem 'activeadmin'
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
# Use unicorn as the app server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'debugger'
Ответы
Ответ 1
Это известная проблема из-за отсутствия поддержки jQuery-UI зависимостей jquery-rails
. Обходной путь на данный момент заключается в том, чтобы заставить gem jquery-rails
загружаться с использованием версии 2.3.0:
gem 'jquery-rails', '~> 2.3.0'
Связанная с этим проблема: Отладка версий jQueryUI в Rails.
Ответ 2
Если вы используете более поздние версии jquery-ui-rails в моем случае jquery-ui-rails-5.0.0
Я узнал в папке с ресурсами jquery-ui-rails-5.0.0, которая записывает следующую строку в ваш application.css:
*= require jquery-ui
извлекает все элементы ui для вашего css, он просто вызывает:
*= require jquery-ui/all
и если вы напишете следующее в свой application.js
//= require jquery-ui
он извлекает большинство jquery js файлов, за исключением некоторых конкретных дампикеров, в jQuery в application.js нет #all-метода, в большинстве случаев это будет делать, но если нет, то вы можете добавить остальных в приложения .js eg
//=require jquery-ui/datepicker-ru
Итак, чтобы использовать все ui для css и js
*= require jquery-ui
//= require jquery-ui
Ответ 3
Я предлагаю обновить ваш application.js
от: //= require jquery_ui
до //= require jquery.ui.all
в качестве предпочтительного решения (вместо использования устаревшей версии драгоценного камня).
Ответ 4
Добавление jquery-ui-rails gem также даст вам поддержку jquery.ui.
gem 'jquery-ui-rails'
В ваших файлах application.js и application.css вы можете добавить все модули
jquery.ui.all
или только те, которые вам нужны, например:
jquery.ui.slider