Я пытаюсь выдать простой запрос ajax в виде рельсов (3.0.3) через link_to.Rails 3 ajax javascript rendering issue
<%= 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.
Я не буду включать в себя остальную часть метода, поскольку это довольно многословно, и я уверен, что он не учитывает эту конкретную проблему, но если кто-то думает, что это важно, я опубликую его.
Спасибо!
EDIT: Исправлена ошибка. Это была моя собственная глупая ошибка, я назвал представление наподобие частичного, с подчеркиванием перед ним. Удалено, и все это прекрасно работает. Идиот, идиот, идиот.