将javascript添加到HAML标记错误

时间:2016-02-29 08:42:35

标签: javascript ruby-on-rails ruby haml

我想在我的HAML标记中添加一个datepicker。我从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'});
  });

这个问题最终是正确的,问题出在形式上。

两者都会在syntax error, unexpected keyword_ensure, expecting end-of-input行或:javascript

上产生错误%script(type="text/javascript")

如何修复并添加脚本?

1 个答案:

答案 0 :(得分: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'});
    });