2013-06-11 2 views
17

Я только что сделал новую установку и смог получить доступ к странице рельсов по умолчанию на localhost: 3000, но когда я установил git activeadmin, я проблема при доступе/admin/и была получена следующая ошибка в/admin/login (я был перенаправлен, но это то, что я увидел на странице :)Ruby on Rails: «не удалось найти файл« jquery-ui »«

Что мне делать? Я сделал обновление пакета, и это не исправлено.

Вот частичное сообщение об ошибке:

Звездочки :: FileNotFound в Active_admin/DEViSE/сессий # новых

Показаны /usr/local/rvm/gems/ruby-1.9.3-p392/ драгоценные камни/activeadmin-> 0.6.0/приложение/просмотров/макеты/active_admin_logged_out.html.erb, где линия # 12 поднял:

не смог найти файл 'JQuery-UI' (в/USR/местные/RVM/gems/ruby-1.9.3-p392/gems/activeadmin-> 0.6.0/app/assets/javascripts/active_admin/base.js: 2)

вот мой драгоценный камень файл:

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' 
+2

покажите файл application.js – uday

+1

@uDaY: active_admin использует свой собственный манифест - файл application.js здесь не имеет значения. – PinnyM

ответ

29

Это known issue благодаря jquery-rails зависимости капельной поддержку JQuery-UI. Чтобы обойти эту проблему на данный момент, как представляется, чтобы заставить jquery-rails камень для загрузки с использованием версии 2.3.0:

gem 'jquery-rails', '~> 2.3.0' 

Родственная проблема в связи с этим: Debug jQueryUI Versions in Rails.

+0

Да, большое вам спасибо! – tjcss

+4

Это не исправить мою ошибку, которая выше, чем указано выше – markhorrocks

+0

@markhorrocks: Тогда это, вероятно, не та же причина. Не стесняйтесь задавать вопрос о проблеме, с которой вы столкнулись. – PinnyM

4

Я предлагаю обновить application.js от: //= require jquery_ui до //= require jquery.ui.all в качестве предпочтительного решения (вместо использования устаревшей версии драгоценного камня).

+0

Как указывалось OP, это происходит в пространстве имен/admin из-за манифеста в active_admin. Изменение application.js не поможет - вам нужно будет скопировать по дереву активов active_admin и внести туда изменения. Это довольно навязчивая и довольно головная боль для поддержки обновлений. – PinnyM

2

Добавление jquery-ui-rails gem также даст вам поддержку jquery.ui.

gem 'jquery-ui-rails' 

В вашем application.js и application.css файлов, вы можете добавить все модули

jquery.ui.all 

или только те, которые вам нужно, например:

jquery.ui.slider 
+0

Правильный - есть новый синтаксис для включения jquery ui. Использовать '// = require jquery.ui.all', чтобы включить все модули, или вы могли бы указать только ядро ​​с' // = require jquery.ui.core' Дополнительная информация в [jquery-ui-rails gem страница] [1] [1]: https://github.com/joliss/jquery-ui-rails – Danny

+1

Я думаю, что комментарий Роджера теперь устарел (по состоянию на август 2014 года) на Rails 4.1. –

+0

Да! Новый [синтаксис] (https://github.com/joliss/jquery-ui-rails#require-everything) теперь '// = требует jquery-ui'. –

10

Если вы используете более поздние версии jquery-ui-rails в моем случае jquery-ui-rails-5.0.0

я узнал в JQuery-UI-рельсах-5.0.0 папку активов, что писать следующую строку в ваш application.css:

*= require jquery-ui 

извлекает все элементы пользовательского интерфейса для вашего CSS, он просто звонит:

*= require jquery-ui/all 

и если вы пишете следующее в ваш application.js

//= require jquery-ui 

выбирающего большинство Jquery файлов расслоения плотного, за исключением некоторых специфических datepickers, нет никакого способа #all для JQuery в заявление.JS, в большинстве случаев это будет делать, но если нет, то вы можете добавить остальные diretcly в applications.js например

//=require jquery-ui/datepicker-ru 

Так в итоге использовать все щ как для CSS и JS

*= require jquery-ui 
//= require jquery-ui 
+0

Решил мою проблему, так как я обновил jquery-ui-rails до 5.0.0. Спасибо –

+1

Это сработало для меня. Обратите внимание на «тире» в этом ответе (например, «jquery.ui» должен быть «jquery-ui», как правильно указывает этот ответ). –

Смежные вопросы