投票システムに ajax を追加しようとしていますが、jQuery で個々の要素をターゲットにするのが困難です。これは私がこれまでに持っているものです:
インデックス アクションの投票リンク
<%= link_to post_votes_path(post), :method => 'post', :remote => true do %>
<span class="score"><%= post.votes.size %></span>
<% end %>
投票コントローラーでアクションを作成する
def create
@post = Post.find(params[:post_id])
@vote = @post.votes.create
respond_to do |format|
format.html { redirect_to root_url }
format.js
end
end
投票の jQuery#create ビュー (create.js.erb)
$('.score').html("I voted");
問題は、リンクをクリックして投票すると、投票しようとした投稿だけでなく、すべての投稿の html が変更されることです。jQueryの経験があまりないので、どうしようもありませんが、明らかな何かが欠けていると思います。何か案は ?