私のアプリケーションにはいくつかの会社テーマ固有のスタイルシートがあり、ログインしたユーザーに基づいて特定のスタイルシートがロードされます。これは、「application.html.erb」で、このようなアプリケーションファイルの特定のバージョンをロードすることによって行われます。アセットパイプラインに複数のアプリケーションスタイルシートをロードする
<% if current_user %>
<% stylesheet_link_tag "application_" + current_user.company.code.downcase %>
<% else %>
<%= stylesheet_link_tag "application" %>
<% end %>
THSは、局所的に正常に動作しますが、生産上の(「すくい資産:プリコンパイル」の後)、それは元の 'application.css.scss'だけがコンパイルされているように見えるので動作しません。 'application_sal.css.scss'。私はここで間違って何をしていますか?
これは行く方法ですか?ユーザーが特定のアプリケーションファイルに記録されたときにロードされ、会社の特定のスタイルシートが含まれている:
@import "_variables.css.scss";
@import "_mixins.css.scss";
@import "_reset.css.scss";
@import "_layout.css.scss";
@import "_skeleton.css.scss";
@import "_theme_sal.css.scss";
@import "_form.css.scss";
@import "base.css.scss";
@import "print.css.scss";
@import "_modules.css.scss";
ユーザーがログインしていない場合は、デフォルトのアプリケーションファイルがロードされます:
@import "_variables.css.scss";
@import "_mixins.css.scss";
@import "_reset.css.scss";
@import "_layout.css.scss";
@import "_skeleton.css.scss";
@import "_form.css.scss";
@import "base.css.scss";
@import "print.css.scss";
@import "_modules.css.scss";
ですがこれを行う良い方法がありますか?ありがとう!
ありがとうございました。これについては考えていませんでした。 – John
config.assets.precompileにファイル名を追加すると、.scss拡張子は無視できます。したがって、ファイル名がsearch.css.scssの場合は、上記のように 'search.css'を追加してください。 – Eskim0