【发布时间】:2014-12-03 16:58:09
【问题描述】:
我有一个相对较新的 Rails 4.1 应用程序,它不通过资产管道提供 JS/CSS。
该应用程序主要是一个 JSON API(命名空间到子域),带有一些基于 Web 的管理工具。我已经安装了 Rails Admin(它成功接收了它的 CSS/JS 并且看起来很棒),但是任何其他 Web 视图都没有从管道中获取资产。
我的具体目标是使用 bootstrap gem 为所有非 Rails Admin 视图提供 Bootstrap。
需要注意的一点 - 最初,我认为这将是一个纯 API,我剥离了 Gem 文件,然后添加了许多与视图相关的 gem。也许这改变了一些默认行为?我当然已经安装了捆绑包。
TL;DR:当我访问 rails_admin 的外部视图时,我没有得到 Bootstrap CSS/JS 并且页面没有样式。
Gemfile 的当前状态(仅显示相关的 Gem,注意我没有 turbolinks)
gem 'rails', '4.1.6'
gem 'pg'
gem 'devise'
gem 'rails_admin'
gem 'sprockets-rails', :require => 'sprockets/railtie'
gem 'uglifier'
gem "bootstrap-sass"
gem 'autoprefixer-rails'
gem 'sass-rails', '~> 4.0.3'
app/assets/javascript/application.js
//= require jquery
//= require jquery_ujs
//= require_tree .
app/assets/stylesheets/bootstrap_config.css.scss
*= require_tree .
*= require_self
*/
@import "bootstrap";
config/application.rb
module Appname
class Application < Rails::Application
config.assets.enabled = true
environments/development.rb
...
config.assets.debug = true
config.assets.raise_runtime_errors = true
【问题讨论】:
-
为什么 bootstrap_config.css.scss 而不是 application.css.scss?您可以使用任何非引导样式吗?
-
我的印象是这无关紧要。我刚刚尝试了 application.css.scss 并没有什么区别。不,我没有风格。我正在尝试一些通用的 CSS,例如:body { background-color: black; } 并一无所获。
-
如果名称不同,您需要手动将其添加到预编译文件列表中。无论如何,请确保在布局中包含带有 stylesheet_link_tag 的文件。
标签: ruby-on-rails