Я изучаю Backbone.js, перейдя через Backbone on Rails Railscast. В части 2 эпизода 325 они добавляют $('#new_entry')[0].reset()
в файл entries_index.js.coffee (см. Ниже). Это должно очистить текст от формы после его добавления в список. Я использую Rails версии 4.0.0.Backbone on Rails ExecJS :: RuntimeError в индексе Main #
class Raffler.Views.EntriesIndex extends Backbone.View
template: JST['entries/index']
events:
'submit #new_entry': 'createEntry'
initialize: ->
@collection.on('reset', @render, this)
@collection.on('add', @appendEntry, this)
render: ->
$(@el).html(@template(entry: @model))
@collection.each(@appendEntry)
this
appendEntry: (entry) ->
view = new Raffler.Views.Entry(model: entry)
@$('#entries').append(view.render().el)
createEntry: (event) ->
event.preventDefault()
@collection.create name: $('#new_entry_name').val()
$('#new_entry')[0].reset()
я получаю эти ошибки при перезагрузке страницы на локальном хосте:
ExecJS::RuntimeError in Main#index
SyntaxError: unexpected CALL_START
(in /Users/lionelramos/Documents/raffler/app/assets/javascripts/views/entries/entries_index.js.coffee)
Мой журнал имеет это:
ActionView::Template::Error (SyntaxError: unexpected JS
(in /Users/lionelramos/Documents/raffler/app/assets/javascripts/views/entries/entries_index.js.coffee)):
Мой шаблон индекса (index.jst.eco) минимальна:
<h1>Raffler</h1>
<form id="new_entry">
<input type="text" name="name" id="new_entry_name">
<input type="submit" value="Add">
</form>
<ul id="entries"></ul>
Аналогичный вопрос [здесь] (https://stackoverflow.com/questions/16617928/syntaxerror-unexpected-when-setting-up-backbone-js-with-rails) – ltrainpr