2016-12-29 7 views
1

Wenn ich eine Variable zuweisen, wie kann ich das an den Javascript-Tag übergeben? Folgendes würde in Ruby Slim funktionieren, scheint aber nicht in Elixirs Slime zu sein.Elixir Slime - Elixir in Javascript Tag einbetten

javascript: 
    window.currentUser = { username: @username } 

Antwort

3

Sie können einen Wert injizieren #{} mit:

javascript: 
    window.currentUser = { username: #{username} } 

Sie werden wahrscheinlich zu JSON wollen die Variable codieren, so dass Strings eingefügt werden als Doppel zitiert JavaScript Strings entkommen. Mit Poison können Sie tun:

javascript: 
    window.currentUser = { username: #{Poison.encode!(username)} } 

Wenn username die Zeichenfolge foo, die erste wird übertragen auf:

<script>window.currentUser = { username: foo }</script> 

während der zweite machen wird:

<script>window.currentUser = { username: "foo" }</script>