【问题标题】:Can't install Active Admin for Ruby on Rails: "Sprockets::FileNotFound..."无法为 Ruby on Rails 安装 Active Admin:“Sprockets::FileNotFound...”
【发布时间】:2013-05-30 03:05:36
【问题描述】:

我在本地安装了一个新的 rails 应用程序,然后添加了活动的管理 gem 并运行 rake db:migrate,然后按照说明进行安装。我也在用粉。

当尝试访问 mysite.dev/admin 的管理区域时,我得到以下信息:

Sprockets::FileNotFound in Active_admin/devise/sessions#new

找不到文件'jquery-ui' (在/usr/local/rvm/gems/ruby-1.9.3-p392/gems/activeadmin-0.6.0/app/assets/javascripts/active_admin/base.js:2)

我到底做错了什么?

【问题讨论】:

  • 你跑过bundle install

标签: ruby-on-rails activeadmin


【解决方案1】:

当你运行时:

rails generate active_admin:assets

它生成:

/app/assets/javascripts/active_admin.js

该文件仅包含一行,即从 Gem 中拉入基础 js 文件:

//= require active_admin/base

active_admin/base(在 Gem 中)只有 4 行,其中一个导致问题:

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

//= require active_admin/application

我选择的解决方法是更改​​项目的 /app/assets/javascripts/active_admin.js 的内容:

//= require jquery
//= require jquery.ui.all
//= require jquery_ujs

//= require active_admin/application

【讨论】:

    【解决方案2】:

    我已更新到最新版本 (0.6.0),但我遇到了同样的问题。
    我没有降级我的 jquery-rails 或直接从 github 安装 gem,而是在我的 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-ui-rails 添加到我的 Gemfile。
    • 这是解决问题的最好办法。
    • 很遗憾,这对我不起作用,我已经没有时间去追踪它了。
    【解决方案3】:

    您应该在 gem 文件中设置:gem 'jquery-rails', "2.3.0" 以将 jquery-rails gem 版本修复为 2.3.0 最后一次更新(3.0.0)删除了 jquery-ui 文件并导致该问题:

    couldn't find file 'jquery-ui' (in /usr/local/rvm/gems/ruby-1.9.3-p392/gems/activeadmin-0.6.0/app/assets/javascripts/active_admin/base.js:2)
    

    现在应该可以解决您的问题。您还可以从 github 获取最新版本的 Active Admin 来解决您的问题。

    但我建议改变

    gem jquery-rails 
    

    在您的 gemfile 中:

    gem 'jquery-rails', "2.3.0"
    

    希望有帮助!

    【讨论】:

    • 谢谢,今晚我试试!我是否正确地说,一旦我完成了bundle install,它就会在我的本地计算机上缓存一个活动管理员版本或我安装的任何包?如果是这样,我将如何不时更新我的​​本地包副本?有没有固定的方法/最佳实践方法?
    • 是的,每次您运行 bundle install 时都会安装新的 gem,但会在您的计算机上安装当前版本。如果你想更新你的gem,你可以运行bundle update,这将更新所有gemfile中没有指定版本的gem。
    • 如果你和我一样,这不起作用:确保你没有安装 gem jrails,它会与 jquery-rails 冲突,不会告诉你任何有用的错误所以。我正在升级到 Rails 3。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 2013-12-16
    相关资源
    最近更新 更多