私は ajax リクエストに問題があります:
私のアプリでは、単純なランク システムを構成しようとしていますが、それをセットアップしましたが、ランク ボタンをクリックすると、ページがリロードされ、ランクが更新されます。
ajaxでそれを理解するのを手伝ってください:
私はそれをしました:
posts/show.html.erb
私はそれを持っています:
<div id='vote_update'>
<%= render 'vote/update' %>
</div>
vote/_update.html.erb
私が持っている:
<% if can? :update, Vote %>
<%= form_for([@post, @post.vote], remote: true) do |f| %>
...
<%= f.submit "vote" %>
vote/update.js.erb
私が持っている:
$('#vote_update').html("<%= j render('vote/update') %>");
そして、vote_controller.rbには次のものがあります:
def update
post = Post.find(params[:post_id])
vote = post.vote
...
respond_to do |format|
if vote.save
format.html {
redirect_to post_path(post),
:notice => "You vote counted!"
}
format.js
end
end
end
romete: true を削除すると、すべてが正常に動作します (ページをリロードすると、(:notice) 「投票がカウントされました!」が表示され、評価が更新されますが、remote: true を元に戻すと、何も表示されませんでした (firebug コンソールにいくつかの間違いがあります) )-しかし、ページをリロードすると-ratignが更新され、正常な結果が表示されました-リダイレクトでいくつかの間違いを犯したと思いますか、わかりません
助けてください