【问题标题】:How to print JavaScript code in my view?如何在我的视图中打印 JavaScript 代码?
【发布时间】:2012-07-31 09:30:30
【问题描述】:

我需要为我的用户提供 js 代码,所以我有文本区域:

  <%=  text_area_tag 'body',  "//<script>...</script>"%>

我无法让它工作。我知道如何使用控制器中的变量来做到这一点:

      @payKey = @xml["payKey"].to_s()
      "#{@payKey}"

编辑。全文打印:

    <script>var _p_g={id:@website.id};</script>
   <script src="..."></script>

并在视图中打印,但给了我错误:

   E:/myapp/myapp_prev/myapp/app/controllers/websites_controller.rb:12: unknown regexp option - j
   E:/myapp/myapp_prev/myapp/app/controllers/websites_controller.rb:12: syntax error, unexpected tSTRING_BEG, expecting keyword_end
   <></script>"
                                               ^

那么有什么更好的方法来解决这个问题呢?

【问题讨论】:

    标签: javascript ruby-on-rails string view


    【解决方案1】:

    问题似乎是您将双引号放在其他引号内,导致语法错误。

    试试这个:

     <%=  text_area_tag 'body',  '<script src="//cdn.printitgreen.com/js/embedded.js"></script>'%>
    

    【讨论】:

    • 你能帮我解决这个问题吗?我需要打印变量值:'&lt;script&gt;var _p_g={id:#{@website.id}};&gt;&lt;/script&gt;' 这只打印#{@website.id},但我需要它的值。
    • 我需要用双引号吗?
    • 好的,你可以使用escape_javascript助手转义双引号:"&lt;script&gt;var _p_g={id:#{escape_javascript(@website.id)}};&gt;&lt;/script&gt;"
    • 试试这个:"&lt;script&gt;var _p_g={id:@website.id};&lt;/script&gt;&lt;script src=\"...\"&gt;&lt;/script&gt;" 在多余的双引号前加上一个反斜杠,而不是转义 id。
    • 不报错,也不打印website.id值。
    猜你喜欢
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 1970-01-01
    相关资源
    最近更新 更多