2013-06-13 57 views
0

我一直在这个问题上撞了我几天,所以希望这里有人可以提供帮助。Rails资产没有正确编译

我有使用Twitter的引导下宝石一个非常基本的Rails应用程序(3.2.13)造型

gem 'bootstrap-sass' 
gem 'font-awesome-sass-rails' 

资产按以下方式

- stylesheets 
    - all 
     bootstrap_override.css.scss 
    - public 
     styles.css.scss 
    - admin 
     styles.css.scss 

引导布局覆盖中有以下代码

$baseLineHeight: 18px; 
$baseFontSize: 14px; 
$sansFontFamily: 'Open Sans'; 
$baseFontFamily: 'Open Sans'; 
$monoFontFamily: 'Ubuntu Mono'; 
$linkColor: #56b1e4; 
$btnPrimaryBackground: #86b063; 

@import "bootstrap"; 
@import 'font-awesome'; 

public.css.scss有以下内容,它是u在

所有公共页面的sed的默认布局
/* 
* 
*= require_self 
*= require_tree ./all 
*= require_tree ./public 
*/ 

admin.css.scss是以下并在页面上使用withint管理员命名空间

/* 
* 
*= require_self 
*= require_tree ./all 
*= require_tree ./admin 
*/ 

继承人的问题:

生产,公共页面正常工作,没有错误。但管理页面抛出500以下

ActionView::Template::Error (File to import not found or unreadable: bootstrap. 
Load path: /sites/blog/releases/20130613100153 
    (in /sites/blog/releases/20130613100153/app/assets/stylesheets/all/bootstrap_and_override.css.scss)): 
    5:  meta charset="utf-8" 
    6: 
    7:  = render 'layouts/custom_fonts' 
    8:  = stylesheet_link_tag "admin", media: 'all', 'data-turbolinks-track' => true 
    9:  = javascript_include_tag "application", 'data-turbolinks-track' => true 
    10:  = render 'layouts/custom_fonts' 
    11: 
    app/assets/stylesheets/all/bootstrap_and_override.css.scss:14 
    app/views/layouts/login.html.slim:8:in `_app_views_layouts_login_html_slim___3383884768077581761_25787440' 

我已经试过清除缓存,重新部署(通过Capistrano的完成与资产流水线插件),静态编译资产和没有什么作品。

我明显缺少资产设置中的重要内容,但什么?

哦,并且在开发环境中它完美地工作,我认为是由于资产pipleline正在编译资产。

回答

1

问题可能是资产管道已经编译成公共引导程序,并且不想将其添加到管理员。两种可能的方法:

  1. 独立引导文件从公共和管理的文件,使客户端必须加载包括引导基CSS文件,加上公众或管理特定文件。

  2. 将public和admin包含在一个application.css文件中。如果您需要将管理员与公共css区分开来,请为名称空间使用类体类。

+0

可爱。我会最终试验(1),但是(2)是最快实施的,并且已经将其固定在了蝙蝠之外。谢谢 – fullybaked