javascript - HAML 在使用 content_for 时有多行,用于 JavaScript

标签 javascript ruby-on-rails haml content-for

我正在尝试在页面上输出一些内联 js。我真的不想将它添加到任何 JS 文件中,因为它太随意了,只能一次性使用。话虽如此,我正在使用 haml 并尝试使用 content_for 以便在从布局加载 jquery 之后放置 JS。

问题是 haml 不喜欢缩进的多行文本(我认为)

我正在尝试执行以下操作:

=content_for :javascript do
  $(function(){
    $("#sell_tickets_here").live("vclick",function(){
      if($(this).is("checked"))
        $("#tickets_here").display("inline");
      else
        $("#tickets_here").display("none");
    });
  });

在我的布局中我有:

  = yield(:javascript)

如果我在 content_for 语句后只有 1 行,这实际上有效。

最佳答案

正确的语法是:

- content_for :javascript do
  :javascript
    $(function(){
      $("#sell_tickets_here").live("vclick",function(){
        if($(this).is("checked"))
          $("#tickets_here").display("inline");
        else
          $("#tickets_here").display("none");
      }); 
    });

注意破折号与等号和 :javascript HAML filter .只要缩进 2 个空格,HAML 就可以很好地处理多行。

然后在您 View 的另一部分:

= content_for(:javascript)

关于javascript - HAML 在使用 content_for 时有多行,用于 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8675281/

相关文章:

php - Fresh Yii 样板项目报告错误

textmate - TextMate是否有一种简单的方法来缩进HAML文件的2个空格?

javascript - 如何将加载的图像读入 blob?

ruby-on-rails - Rails 应用程序中的内存不断增加

ruby-on-rails - Rails + 简单表单 - 创建一个带有两个按钮的表单?

ruby-on-rails - 带:multipart => true的Form_for吐出

ruby-on-rails - Sublime Text 3 中多行代码的语法突出显示问题(Ruby on Rails & Haml)

javascript - 无法让自定义对话框与 DirtyForms 一起使用

javascript - 使用复选框在数组中添加和删除对象

php - 如何动态更改(添加)事件状态类到导航链接