我在Rails中遇到了一個非常簡單的AJAX調用問題。我有一個博客風格的應用程序,每個帖子都有一個「喜歡」的功能。我希望能夠使用AJAX onclick在索引中的每個帖子上增加「like」。我得到它的工作;然而,DOM在這裏有點棘手,因爲不管它看着什麼部分,它只會更新TOP部分。所以如果我在帖子#2上點擊「like」,它會更新並替換帖子#1上的「likes」。Ajax page.replace_html Rails中的partials問題
代碼彥博部分:
<div id="postlikes">
<%= link_to_remote 'Like', :url => {:controller => 'posts', :action => 'like_post', :id => @post.id}%>
<%= @post.like %>
</div>
</div>
like_post.rjs代碼:
page.replace_html "postlikes", :partial => "postlikes", :object => @post
page.visual_effect :highlight, "postlikes", :duration => 3
所以這一切都正常工作爲先「爲postcontent部分_postlikes
<some code here...>
<div id="postcontent">
Posted <%= post.created_at.strftime("%A, %b %d")%> <br />
</div>
<div id="postlikes">
<%= link_to_remote 'Like', :url => {:controller => 'posts', :action => 'like_post', :id => post.id}%>
<%= post.like %>
</div>
代碼「div。但是這是帖子的索引,所以如果我想更新頁面上的第二個「postcontent」div,它仍然會替換第一個的html。
我理解這個問題,我只是不知道如何解決它:)
提前感謝!
爲什麼你有一個帖子喜歡在_post部分和帖子喜歡偏? – 2010-04-23 15:54:20