2017-08-13 19 views
-1

Ändern ich ändern will Bootstrap sass Variablen aus den Ansichten, und ich habe interne CSS versucht, und es funktioniert nicht, keine Ideen:Ruby on Rails sass Variablen von Ansichten

<% if current_user.admin == true%> 
    <!-- Change sass variables--> 
<% else %> 
    <!-- use default sass variables --> 
<% end %> 
+0

SASS zu reiner CSS wird für die Produktion zusammengestellt, können Sie nicht die Variablen in der Laufzeit ändern. –

+0

Sie können SASS-Variablen nicht auf ERB-Templates ändern. Sie können verschiedene CSS-Klassen definieren, die in 'if..selse' Blöcken verwendet werden. – sa77

+0

@ sa77 Es tut mir leid, ich bin ein wenig neu, also können Sie etwas mehr erklären Geben Sie mir eine Art von Referenz-Links –

Antwort

1

SASS Variablen können nicht auf erb Vorlagen geändert werden . Eine Möglichkeit, dies zu tun, besteht darin, für jede dieser if .. else Fälle unterschiedliche CSS-Klassen mit Hilfe von SASS-Mixins zu definieren. Zum Beispiel:

SASS Regeln:

$default-color: #666; 
$admin-color: #333; 


@mixin common-style($color) { 
    color: $color; 
    padding: 10px; 
    border: 1px solid black; 
} 

.default-div { 
    @include common-style($default-color) 
} 

.admin-div { 
    @include common-style($admin-color) 
} 

Dann auf Ihrer Ansicht Datei:

<% if current_user.admin == true%> 
    <!-- use admin CSS --> 
    <div class='admin-div'> 
    </div> 
<% else %> 
    <!-- use default CSS rules --> 
    <div class='default-div'> 
    </div> 
<% end %>