如果我有一个分配变量,我该如何将其传递给Javascript标记?以下内容适用于Ruby Slim,但似乎不适用于Elixir的Slime。
javascript:
window.currentUser = { username: @username }
答案 0 :(得分:3)
您可以使用#{}
注入一个值:
javascript:
window.currentUser = { username: #{username} }
您可能希望对变量进行JSON编码,以便将字符串作为双引号转义的JavaScript字符串插入。使用Poison
,您可以执行以下操作:
javascript:
window.currentUser = { username: #{Poison.encode!(username)} }
如果username
是字符串foo
,则第一个将呈现为:
<script>window.currentUser = { username: foo }</script>
而第二个将呈现给:
<script>window.currentUser = { username: "foo" }</script>