私のユーザー インデックス アクションでは、ステータスの更新を投稿したすべてのユーザーを繰り返し処理し、created_at DESC で並べ替えています。
私のindex.html.viewで
<% @users.each.do |user| %>
<% user.status = @status %>
<%= @status.content %>
<div id ="like_form">
<% if @status.has_like_already?(@status, current_user)%>
<%= render 'already_liked'%>
<%else%>
<%= render 'like'%>
<%end%>
</div>
_like.html.erb
<%= link_to "Like", likes_path(:like_for => @status.id), remote: true, :method=>:post %>
_already_liked.html.erb
<span>Liked</span>
create.js.erb
$("#like_form").html("<%= escape_javascript(render('users/already_liked')) %>")
問題は、私がステータスの更新を気に入ることができ、最初の投稿では [いいね] ボタンが [異なる] に変わりますが、2 回目以降のクリックでは [いいね] ボタンが [異なる] に変わりません。これは#like_form
、最初の投稿が既に [異なる] に変更されているためです。私は反復しているので、投稿された各ステータスに対して Ajax で機能するような機能を取得するにはどうすればよいですか?