You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails 7.0.4集成rails_admin时遇sassc加载及导入错误求助

Rails 7.0.4 + Rails Admin 加载错误解决指南

问题重现

Ruby 3.1.2 + Rails 7.0.4 新项目,添加 Rails Admin(3.0/3.1/预览版)后:

  • 执行bundle和rails g rails_admin:install无异常,但访问http://localhost:3000/admin触发LoadError: cannot load such file -- sassc
  • 添加sassc-rails后出现SassC::SyntaxError: 无法导入 rails_admin/src/rails_admin/styles/base

解决方案

方案1:强制Rails Admin使用Sprockets处理资源

Rails 7默认使用cssbundling-rails或importmap-rails,与Rails Admin的Sass依赖不兼容,需强制切换回Sprockets:

  1. 移除Gemfile中的sassc-rails
  2. 确保Gemfile包含sprockets-rails:
    gem "sprockets-rails"
    
  3. 在config/initializers/rails_admin.rb中添加配置:
    RailsAdmin.config do |config|
      config.asset_source = :sprockets
      # 保留你的其他Rails Admin配置
    end
    
  4. 执行bundle install,重启Rails服务

方案2:指定兼容的SassC版本

若方案1无效,尝试锁定sassc到兼容版本:

  1. 在Gemfile中添加:
    gem "sassc", "~> 2.4.0"
    gem "sassc-rails"
    
  2. 执行bundle update sassc,重启服务

方案3:使用Rails Admin的Rails 7适配分支

尝试使用官方针对Rails 7优化的开发分支:

  1. 在Gemfile中替换Rails Admin的引用:
    gem "rails_admin", github: "sferik/rails_admin", branch: "master"
    
  2. 执行bundle install,重新运行rails g rails_admin:install,再启动服务

关键注意点

  • 确保config/application.rb中启用了Sprockets:
    require "sprockets/railtie"
    
  • 避免同时启用cssbundling-rails和sassc-rails,防止资源处理冲突

内容的提问来源于stack exchange,提问作者Nezir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:30:52