17

我刚刚完成了全新安装,并且能够访问 localhost:3000 上的默认 Rails 页面,但是当我安装 activeadmin gem 时,我在访问 /admin/ 时遇到了问题,并在 /admin/login 上收到以下错误(我被重定向,但这是我在页面上看到的:)

我该怎么办?我已经完成了捆绑更新,但没有修复它。

这是部分错误消息:

Sprockets::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)

这是我的宝石文件:

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'
4

4 回答 4

30

这是一个已知问题,因为jquery-rails依赖项放弃了 jQuery-UI 支持。目前的解决方法似乎是jquery-rails使用 2.3.0 版强制 gem 加载:

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

一个相关的问题是:Debug jQueryUI Versions in Rails

于 2013-06-11T21:04:44.757 回答
10

如果您在我的情况下使用更高版本的 jquery-ui-rails jquery-ui-rails-5.0.0

我在 jquery-ui-rails-5.0.0 assets 文件夹中发现,将以下行写入您的 application.css:

*= require jquery-ui

为您的 css 获取所有 ui 元素,它只是调用:

*= require jquery-ui/all

如果您将以下内容写入您的 application.js

//= require jquery-ui

它获取大多数 jquery js 文件,除了一些特定的 datepickers,在 application.js 中没有 jquery 的#all 方法,在大多数情况下可以这样做,但如果没有,那么您可以将其余部分直接添加到 applications.js 例如

//=require jquery-ui/datepicker-ru

所以总而言之,将所有 ui 用于 css 和 js

*= require jquery-ui
//= require jquery-ui
于 2014-07-17T10:07:43.557 回答
4

我建议将您的application.jsfrom: //= require jquery_uito更新//= require jquery.ui.all为更可取的解决方案(而不是使用过时的 gem 版本)。

于 2013-06-24T23:06:13.767 回答
2

添加 jquery-ui-rails gem 还将为您提供 jquery.ui 支持。

gem 'jquery-ui-rails'

在您的 application.js 和 application.css 文件中,您可以添加所有模块

jquery.ui.all

或仅您需要的那些,例如:

jquery.ui.slider
于 2013-08-25T23:31:32.027 回答