Ich habe ein Problem mit einem ziemlich einfachen AJAX-Aufruf in Schienen. Ich habe eine Blog-Stil-Anwendung und jeder Beitrag hat eine "wie"-Funktion. Ich möchte in der Lage sein, die "wie" auf jeden Beitrag im Index mit AJAX onclick zu erhöhen. Ich habe es zu arbeiten, aber das DOM ist ein bisschen schwierig hier, denn egal, was teilweise seine suchen, es wird nur die TOP-Teil aktualisieren. so, wenn ich klicken Sie auf "Gefällt mir" auf Beitrag #2, wird es aktualisieren und ersetzen die "Likes" auf Beitrag #1 statt.
Code für _post partial:
<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>
Code für _postlikes partial:
<div id="postlikes">
<%= link_to_remote 'Like', :url => {:controller => 'posts', :action => 'like_post', :id => @post.id}%>
<%= @post.like %>
</div>
</div>
like_post.rjs-Code:
page.replace_html "postlikes", :partial => "postlikes", :object => @post
page.visual_effect :highlight, "postlikes", :duration => 3
Also das alles funktioniert richtig für die erste "postcontent" div. Aber dies ist ein Index von Beiträgen, wenn ich also das zweite "postcontent"-Div auf der Seite aktualisieren wollte, wird es immer noch die HTML des ersten ersetzen.
Ich verstehe das Problem, ich weiß nur nicht, wie man es beheben kann :)
Vielen Dank im Voraus!