资产管道不提供资产,特别是Rails 4.1中的Bootstrap

时间:2014-10-08 21:42:05

标签: ruby-on-rails

我有一个相对较新的Rails 4.1应用程序,它不通过资产管道提供JS / CSS。

该应用程序主要是一个JSON API(命名为子域名),带有一些基于Web的管理工具。我已经安装了Rails Admin(它成功接收了它的CSS / JS并且看起来很棒),但是任何其他Web视图都没有从管道中获取资产。

我的具体目标是使用bootstrap gem为所有非Rails Admin视图提供Bootstrap。

有一点需要注意 - 最初我剥离了Gem文件,认为这将是一个纯API,然后添加了许多与视图相关的宝石。也许这改变了一些默认行为?我当然已经安装了捆绑包。

TL; DR:当我访问rails_admin的视图外部时,我没有获得Bootstrap CSS / JS并且页面没有样式。

Gemfile的当前状态(仅显示相关宝石,请注意我没有涡旋链接)

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'

应用/资产/ JavaScript的/的application.js

//= require jquery
//= require jquery_ujs
//= require_tree .

应用/资产/样式表/ bootstrap_config.css.scss

*= require_tree .
*= require_self
*/
@import "bootstrap";

配置/ application.rb中

module Appname
   class Application < Rails::Application
      config.assets.enabled = true

环境/ development.rb

...
config.assets.debug = true
config.assets.raise_runtime_errors = true

1 个答案:

答案 0 :(得分:1)

代表Donatas Stundys回答问题,他在上面的评论中写了正确答案:

“...确保您在布局中包含带有stylesheet_link_tag的文件。”

我将文件重命名为application.css.scss,然后将其包含在我的布局文件的头部:

<强> application.html.erb

<%= stylesheet_link_tag "application" %>

现在我的页面已成功使用Bootstrap设置。无法相信我无法在文档中找到包含该文件的提及。我以为这是通过自动魔法发生的。