Я только начинаю использовать скрипты rails 3.1 и jQuery / coffee.У меня есть фрагмент кода js, который работает, когда он включен в тег на мой взгляд, но при включении в app / assets / javascripts / post.js.coffee он выдает следующую ошибку:
ExecJS ::RuntimeError в сообщениях # new
Отображение /home/chris/RailsDev/blog/app/views/layouts/application.html.erb где поднята строка # 10:
Зарезервированное слово "function" включенострока 7 (в /home/chris/RailsDev/blog/app/assets/javascripts/post.js.coffee)
Это работает:
приложение/views/posts/new.html.erb
<%= form_for [@user, @post] do |f| %>
<div class="field">
<%= f.label :title %><br />
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :content %><br />
<%= f.text_area :content %>
</div>
<div class="field">
<label for="forward_date">Post in the future?</label>
<%= check_box_tag 'forward date' %>
<div id="post_date" style="display: none;">
<%= f.label :post_date %>
<%= f.datetime_select :post_date %>
</div>
</div>
<div class="actions">
<%= f.submit "Create" %>
</div>
<% end %>
<script>
$("#forward_date").change(function() {
if($(this).is(":checked")) {
$("#post_date").show("slow");
} else {
$("#post_date").hide("slow");
}
});
</script>
Это вызывает ExecJS :: RuntimeError
Удалите тег из представления и поместите код в приложение /assets / javascripts / post.js.coffee
$("#forward_date").change(function() {
if($(this).is(":checked")) {
$("#post_date").show("slow");
} else {
$("#post_date").hide("slow");
}
});