Railsでフロントと管理画面のデザインを分ける

 忘備録。

  1. フロントと管理画面のデザインが違う
  2. 読み込むSCSSも違う
  3. Railsのアセットパイプラインを素直に使うと全部読み込まれてしまう

というケースの解決。

@import "compass";
@import "_reset.scss";
@import "_mixin.scss";
.application{
    @import "front/_layout.scss";
    @import "front/_design.scss";
}
.admin{
    @import "admin/_layout.scss";
    @import "admin/_design.scss";
}

こう。

んで

layout/application.html.erb

...
<body class="application">
...

こう。

fontawesomeとかbootstrapとか入れたいけどgemインスコが上手く動かんねんキシャー!!っつってもう直接ファイル入れたれと思ったら読み込み順が違って壊れてまたキシャー!!ってなる件については

stylesheets
  ├─ fontawesome
  │   └─ scss
  │       └─ fontawesome.scss
  └─ original
      └─ common.scss

みたいな具合にファイルを組んで

@import "fontawesome/scss/fontawesome.scss";
@import "original/common.scss";

って感じにするとちゃんと読み込まれた。
_hoge.scss系を一列に置いちゃうとしんどみがしんどいので階層化するといいっぽい。original/common.scssの中に一番上の@import系が書かれている。