Я пытаюсь выполнить простой ajax-запрос в представлении rails (3.0.3) через link_to.
<%= link_to "like", toggle_author_likes_path(current_author, post), :remote => true %>
Идея состоит в том, что действие в переключателе LikesController # будет отображать некоторыеJavascript для изменения страницы после возврата запроса.Довольно простые вещи, верно?
Проблема, с которой я сталкиваюсь, заключается в том, что в действии, похоже, возникают проблемы с поиском нужного файла * .js.erb.Соответствующий фрагмент в действии переключения LikesController #:
respond_to do |format|
format.html { redirect_to post_path(@post) }
format.js
end
Когда я пытаюсь выполнить этот запрос, действие выполняется, но запрос отвечает 500 Internal Server Error
.Текст ошибки:
Missing template likes/toggle with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:js, :html], :locale=>[:en, :en]}...
Я дважды и трижды проверил размещение моего файла _toggle.js.erb и уверен, что назвал его правильно, и содержимое допустимо (хотя это не так).важно, потому что это никогда не завершается).
Просто выполнение обычного GET без какого-либо причудливого ajax в файле js возвращает точно такую же ошибку, поэтому велика вероятность, что проблема лежит где-то в цепочке рендеринга Rails.
Я не буду включать остальную часть метода, поскольку он довольно многословен, и я уверен, что он не учитывает эту конкретную проблему, но если кто-то сочтет это важным, я опубликую его.
Спасибо!
РЕДАКТИРОВАТЬ: Исправлена проблема.Это была моя собственная глупая ошибка, я назвал представление как частичное с подчеркиванием перед ним.Удалено, и все это работает отлично.Идиот, идиот, идиот.