Railsアプリで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がそれを見ることができません。エラーによると、railsが検索するファイル拡張子は、、、.haml
およびだけです。そのリストに拡張機能もあるべきではありませんか?前もって感謝します。.coffee
.erb
.builder
.rjs