我有Ajax請求的一個問題:軌道簡單的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:真正的 - 一切正常(頁面刷新,我看到(:通知)「您投票計數!「和評級更新,但如果我把遠程:真正的回來,我什麼也沒有看到(在螢火蟲控制檯中的一些錯誤) - 但是當我重新加載頁面 - ratign更新,nd我看到norml結果 - 我想我犯了一些錯誤重定向或我不知道
請幫助
你的ajax代碼將在format.js塊中。你可以在那裏更新顯示排名的HTML。 – Rubyman