Elixir Slime - 在Javascript标签中嵌入Elixir

时间:2016-12-29 23:27:45

标签: elixir phoenix-framework

如果我有一个分配变量,我该如何将其传递给Javascript标记?以下内容适用于Ruby Slim,但似乎不适用于Elixir的Slime。

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

1 个答案:

答案 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>