我在我的rails应用程序中使用webpacker作为我的资产管道。我根据文档安装了活动管理员。我将样式表文件和javascript文件active_admin.js.coffee和active_admin.css从app / assets / stylesheets和app / assets / javascripts移动到vendor目录。要从供应商目录加载这些文件,我在config / initializers / assets.rb
中添加了以下行Rails.application.config.assets.precompile += %w( active_admin.js active_admin.scss )
但是还是rails无法在我的资产管道中找到该文件。每当我访问/管理路径时,它都会引发错误。
Sprockets::Rails::Helper::AssetNotFound in ActiveAdmin::Devise::Sessions#new
Showing /home/rabin/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/activeadmin-1.3.0/app/views/layouts/active_admin_logged_out.html.erb where line #9 raised:
The asset "active_admin.css" is not present in the asset pipeline.
我搜索了整个stackoverflow但仍然无法找出问题所在。
答案 0 :(得分:1)
2.7.0版上的ActiveAdmin添加了Webpacker支持,因此根据docs更新到此版本(或更高版本)后,ActiveAdmin将为您生成所需的文件。写:
rails g active_admin:install --use_webpacker
如果您不使用设备,请在--skip-users
之后添加--use_webpacker
与通常生成的ActiveAdmin不同,
app/javascript/stylesheets/active_Admin.scss
app/javascript/packs/active_admin.js
这将使用yarn下载所需的js和CSS文件,并更新Webpack以在所有页面上使用jquery(如果已经设置了jquery,则值得删除重复的代码) 如果您要从Sprockets更新,请不要忘记从资产或供应商文件夹中删除以前的js和CSS。
答案 1 :(得分:-1)
它应该在vendor / assets目录中。