【问题标题】:Adding javascript to HAML markup error将 javascript 添加到 HAML 标记错误
【发布时间】:2016-02-29 08:42:35
【问题描述】:

我想在我的 HAML 标记中添加一个日期选择器。我从that 问题开始,尝试了两种添加脚本的方法:

%h3
  Please enter the following information:
= form('/some_path', :post)
  = input(:date, :start_date, class: "formbox")
  = input(:date, :end_date, class: "formbox")
  = submit('Submit', class: "button")

%script(type="text/javascript")
  $(function() {$( "#start_date, #end_date" ).datepicker({format: 'yyyy-mm-dd'});});

和

:javascript
  $(function() {
    $( "#start_date, #end_date" ).datepicker({format: 'yyyy-mm-dd'});
  });

这个终于正确了,问题出在表格部分。

两者都在:javascript 或%script(type="text/javascript") 线上产生错误syntax error, unexpected keyword_ensure, expecting end-of-input

如何解决这个问题并添加脚本?

【问题讨论】:

    标签: javascript ruby-on-rails ruby haml


    【解决方案1】:

    %script 标签需要大括号;在后一个示例中,需要=content_for 标签:

    %script{data:{'foo'=> 'bar'}, 'type'=> "text/javascript"}
    = content_for :javascripts do
      :javascript
        $(function() {
          $( "#start_date, #end_date" ).datepicker({format: 'yyyy-mm-dd'});
        });
    

    【讨论】:

    • 尝试了您的答案 - 在 $(function() { 行上遇到了相同的语法错误。
    • 感谢关注,问题出在表单部分,替换为帮助标签并使其正常工作。此外,:javascript 关键字按原样工作,不需要 =content_for。
    猜你喜欢
    • 1970-01-01
    • 2012-02-11
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    • 2012-01-26
    • 2018-12-12
    • 1970-01-01
    相关资源
    最近更新 更多