Ruby on rails 资产管道不服务于资产,特别是Rails 4.1中的引导

Ruby on rails 资产管道不服务于资产,特别是Rails 4.1中的引导,ruby-on-rails,Ruby On Rails,我有一个相对较新的Rails 4.1应用程序,它不通过资产管道提供JS/CSS服务 该应用程序主要是一个JSON API(命名空间为子域),带有一些基于web的管理工具。我已经安装了Rails Admin(它正在成功地接收CSS/JS,看起来很棒),但是任何其他web视图都无法从管道中获取资产 我的具体目标是使用bootstrap gem为所有非Rails管理员视图提供引导 需要注意的一点是,最初我剥离了Gem文件,认为这将是一个纯API,然后又添加了许多与视图相关的Gem。也许这改变了一些默认

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

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

我的具体目标是使用bootstrap gem为所有非Rails管理员视图提供引导

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

TL;DR:当我访问rails_admin网站外的视图时,我没有得到引导CSS/JS,页面也没有样式。

Gemfile的当前状态(仅显示相关gem,注意我没有TurboLink)

app/assets/javascript/application.js

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'
//= require jquery
//= require jquery_ujs
//= require_tree .
*= require_tree .
*= require_self
*/
@import "bootstrap";
app/assets/stylesheets/bootstrap_config.css.scss

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'
//= require jquery
//= require jquery_ujs
//= require_tree .
*= require_tree .
*= require_self
*/
@import "bootstrap";
config/application.rb

module Appname
   class Application < Rails::Application
      config.assets.enabled = true
...
config.assets.debug = true
config.assets.raise_runtime_errors = true
<%= stylesheet_link_tag "application" %>

代表Donatas Stundys回答问题,他在上述评论中给出了正确答案:

“…确保在布局中包含带有样式表\链接\标记的文件。”

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

application.html.erb

module Appname
   class Application < Rails::Application
      config.assets.enabled = true
...
config.assets.debug = true
config.assets.raise_runtime_errors = true
<%= stylesheet_link_tag "application" %>


现在,我的页面成功地使用引导设置样式。真不敢相信我找不到在文档中包含该文件的提及。我以为这是通过汽车魔法实现的

为什么使用bootstrap_config.css.scss而不是application.css.scss?你能使用任何非引导风格吗?我的印象是这不重要。我只是尝试了application.css.scss,结果没有什么不同。不,我没有什么风格。我正在尝试一些通用的css,比如:body{background color:black;},但什么也得不到。如果名称不同,您需要手动将其添加到预编译文件列表中。无论如何,请确保在布局中包含带有样式表链接标记的文件。