Я пытаюсь научиться использовать AJAX в своих приложениях для рельсов, поэтому решил начать с чего-то простого. У меня есть приложение для блога, в котором пользователь может голосовать за любое сообщение в блоге. Вот мой код для posts#vote
:
posts_controller.rb
class PostsController < ApplicationController
(...)
def vote
post = Post.find(params[:id])
if current_user.voted_on?(post)
current_user.unvote_for(post)
else
current_user.vote_for(post)
end
respond_to do |format|
format.html { redirect_to post_path(post) }
format.js
end
end
end
а вот код ссылки для моего posts#view
:
view.html.erb
<%= link_to "Vote", vote_post_path(post.id), :remote => true %>
И теперь, если я нажму на ссылку Vote
, действие posts#vote
сработает и голосование будет подано, однако я получаю сообщение об ошибке:
ActionView::MissingTemplate (отсутствуют сообщения/голосование шаблона, приложение/голосование с {:handlers=>[:haml, :coffee, :erb, :builder], :locale=>[:en], :formats=>[:js , :html]}.
У меня есть (пустой) файл vote.rjs
в папке views/posts
, но по какой-то причине рельсы его не видят. Согласно ошибке, единственными расширениями файлов, которые ищет rails, являются .haml
, .coffee
, .erb
и .builder
. Разве в этом списке не должно быть расширения .rjs
? Заранее спасибо.