添加 javascript 到 HAML 标记错误

Adding javascript to HAML markup error

我想将日期选择器添加到我的 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

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

%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'});
    });