我有一个相对较新的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
答案 0 :(得分:1)
代表Donatas Stundys回答问题,他在上面的评论中写了正确答案:
“...确保您在布局中包含带有stylesheet_link_tag的文件。”
我将文件重命名为application.css.scss,然后将其包含在我的布局文件的头部:
<强> application.html.erb 强>
<%= stylesheet_link_tag "application" %>
现在我的页面已成功使用Bootstrap设置。无法相信我无法在文档中找到包含该文件的提及。我以为这是通过自动魔法发生的。