【问题标题】:javascript_tag and <script> tag are being stripped from erb templates正在从 erb 模板中删除 javascript_tag 和 <script> 标记
【发布时间】:2012-10-03 23:02:23
【问题描述】:

我是一名 Ruby/Rails 菜鸟,刚刚开始使用 ree-1.8.7 开发在 Passenger 上运行的旧版 Rails 应用程序。

我的问题是,每次我将 javascript_tag 调用或标签添加到某些 .erb 模板时,当页面在浏览器中呈现时,它们总是会从最终输出中被剥离,但仅限于某些视图,而不是全部。我试图找到可以配置该设置的位置,但找不到任何东西。

模板位于 app/views 的子目录中,无论是有效的还是无效的。

例如,如果我像这样放一个简单的片段

<%= javascript_tag "
    var test='test'
" %>

在浏览器页面源代码中,我从来没有看到生成的 javascript,就好像我把它放在“好”的 erb 文件中一样,它被看到了。

【问题讨论】:

标签: javascript ruby-on-rails ruby tags erb


【解决方案1】:

您的文件可能命名不正确。 show.html.erb 对吗?还有什么版本的rails?

【讨论】:

  • 在我的情况下,它只是 .erb 文件,如 index.erb 或 _index.erb,但我尝试重命名它们,但这并不重要。 rails 的版本是 2.3.14
【解决方案2】:

我终于想通了。 这是由于 PrototypeJS 进行 Ajax 调用,默认情况下它们会在响应中去除 javascript 标签。更多信息在这里:

https://groups.google.com/d/msg/prototype-scriptaculous/ox5KB9rJ8cc/IzXqd4eOWRgJ

【讨论】:

    猜你喜欢
    • 2022-12-05
    • 2011-06-05
    • 2016-07-25
    • 1970-01-01
    • 2012-01-15
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    相关资源
    最近更新 更多