在JavaScript意外的令牌错误中插入ruby

时间:2013-09-04 19:50:39

标签: javascript ruby haml

我有一个使用Ember,CoffeeScript,带有Rails的Haml的应用程序的源代码。在布局文件中,它使用此代码启动应用程序,该代码具有用Ruby编写的current_user_json帮助程序方法

:javascript
    App.ready = function() {
      App.initApp(jQuery.parseJSON('#{current_user_json}'))
    }

尝试使用erb和JavaScript重新创建应用程序,我收到意外的令牌错误

Uncaught SyntaxError: Unexpected token # 

如果我执行以下操作

  <script type="text/javascript">
 App.ready = function() {
      App.initApp(jQuery.parseJSON('#{ current_user_json}'));
    }
  </script>

为什么该令牌出乎意料?如何避免该错误?

2 个答案:

答案 0 :(得分:1)

根据你的问题,我无法判断它是否在HAML中不适合你。我认为它是,因为我也使用相同的方法,它工作正常。

至于ERB,我个人并没有使用它,但我认为你不能像这样删掉一个字符串,试试这个:

<script type="text/javascript">
  App.ready = function() {
    App.initApp(jQuery.parseJSON('<%= current_user_json %>'));
  }
</script>

答案 1 :(得分:0)

将其更改为双引号。

App.initApp(jQuery.parseJSON("#{ current_user_json}"));