web-dev-qa-db-fra.com

Ruby Slim - Comment définissez-vous la classe d'un élément avec un Rails helper ou variable?

Dans Rails slim (http://slim-lang.com/) la syntaxe pour définir un nouveau div avec un nom de classe "sample" est la suivante:

 .sample
      = "Content goes here"

cela créera:

 <div class="sample">
      Content goes here
 </div>

Je veux définir une classe de div en fonction de l'aide d'un rail, d'une variable ou d'autres choses .. comme, dans Rails:

 <div class="sample #{@variable.name}">
   Content goes here
 </div>

Je ne sais pas comment faire ça en slim:

 .sample #what else goes here?
   Content goes here

Quelqu'un sait comment?

34
jay

Que diriez-vous

div[class="sample #{@variable.name}"]

ou même

div class=["sample", @variable.name]

ou

.sample *{:class => [@variable1.name, @variable2.name]}
56
Zabba

Vous pouvez utiliser des parenthèses, des accolades ou juste un espace

.first-class(class="second-class-#{Ruby_call}")

.first-class *{class: "second-class-#{Ruby_call}"}

.first-class class="second-class-#{Ruby_call}"
9
steel

Pour les modèles minces, j'ai utilisé la notation entre parenthèses. Vous pouvez ajouter du contenu supplémentaire sur la même ligne avec le signe égal ("="), mais assurez-vous d'inclure un espace:

h1 class=("sample #{@variable.name}") = @variable.to_s
0
staxim