过去3天一直在为此苦苦挣扎,但无济于事。
在我的 Gemfile 中,我有:
gem 'sass-rails', '3.1.5' # there is a problem with 3.1.6 and we need to downgrade until they update it.
gem "bootstrap-sass"
Bootstrap CSS 工作正常,但它不会在开发或生产模式下显示图像。
development.log 有关于 GET 错误的说明:
GET http://localhost:3000/railsAdminApi/assets/glyphicons-halflings.png 404 (Not Found)
如您所见,它不应该使用项目名称作为路径的一部分。
在我的bootstrap_and_overrides.css.scss
文件中,我有这个:
$iconSpritePath: asset-url("glyphicons-halflings.png", image) !default;
$iconWhiteSpritePath: asset-url('glyphicons-halflings-white.png', image);
请注意,我使用asset-url
而不是image-path
按照这个github 讨论。
无论如何,我在这个变量中输入了什么(或者即使我将其改回image-path
)都没有关系,路线将始终保持不变,无论我尝试什么,我都无法更改它。
如果我直接编辑 gem 文件的 vendor/assets/stylesheets/bootstrap/_sprites.css.scss 文件(这当然是一件可怕的事情)并放入'assets/'
而不是 Sass 变量,浏览器将停止抱怨找不到图标但仍然不会显示图像。
它变得更加棘手:
将 Sass 变量放回 _sprites.css.scss 并预编译会在我的本地机器上显示生产模式下的图像(但不是开发模式)。但是,在远程服务器上,任何组合都不会在生产模式下显示图像。
因此,寻找任何帮助或卸载与引导程序相关的所有内容的方法(清理东西可能是一种选择,因为我确实使用了随后在本地计算机上卸载的其他引导程序 gem)。
谢谢。
编辑
长话短说,我必须删除 RVM 并安装 rbenv 才能让我的 gem 再次工作。这次我选择了twitter-bootstrap-rails
更好的,更少的javascript错误,但我仍然对图像有同样的问题,无论是字形还是fontawesome字体。
似乎无论我将什么放入变量中(这次是尊重它们),它总是将项目路径预先railsAdminApi
添加到路径中。
绝望中,我想我可以在我的routes.rb
文件中添加一个路径,以便可以访问它正在寻找的路径,例如:
get 'railsAdminApi' => 'public/'
当然,Rails 抱怨没有公共控制器,但我不知道如何在没有控制器的情况下创建静态路由。我什至尝试创建一个软链接,但这并没有成功。