【问题标题】:Rails & Haml - Passing data to javascriptRails & Haml - 将数据传递给 javascript
【发布时间】:2013-02-08 07:27:27
【问题描述】:

我正在尝试将数据从我的 haml 视图传递到 javascript。在我的欢迎控制器中,我有 index 方法。在我的 index.html.haml 视图文件中,我有以下内容:

:javascript
  window.putalert = "#{ "Data" }";

在我的welcome.js.coffee 我有:

jQuery ->
        alert putalert

但是,上述方法不起作用。我收到 Uncaught ReferenceError: putalert is not defined。

关于如何解决这个问题的任何建议?

chrome调试中的错误信息是

(function() {

  jQuery(function() {
    return alert(putalert);
Uncaught ReferenceError: putalert is not defined
  });

}).call(this);

【问题讨论】:

标签: javascript ruby-on-rails haml


【解决方案1】:

您可以使用 :javascript haml 标签注入 javascript。您可以使用 #{} 插入 Ruby。试试这样的:

:javascript
  window.putalert = "#{ "Data" }";

如果您愿意,您甚至可以在视图中插入 coffeescript(为此您必须使用 tilt):

:coffee
  @putalert = "#{ "Data" }"

这里是haml过滤器的参考:http://haml.info/docs/yardoc/file.REFERENCE.html

【讨论】:

  • 嗨,:javascript window.putalert = "#{ "Data" }"; 不工作。我仍然收到 Uncaught ReferenceError: putalert is not defined 错误。
【解决方案2】:

一般来说,为 JavaScript 处理数据的一种非常好的方法是使用 HTML 标记上的数据属性。然后使用 jQuery 之类的东西,您可以提取该信息。比注入js要干净一点。

更多信息:http://ejohn.org/blog/html-5-data-attributes/

【讨论】:

    猜你喜欢
    • 2013-08-12
    • 2016-04-12
    • 1970-01-01
    • 2015-10-05
    • 2011-09-30
    • 2015-01-01
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    相关资源
    最近更新 更多