0

賛成ボタン付きのAJAXを使用しています。ユーザーが「UpVote」ボタンをクリックすると、そのフォームが送信され、無効になっているボタン「Upvoted」が表示されます。

現在、賛成票は機能しますが、それが行われると、列のすべての「賛成票」ボタンが賛成票に変更され、ページを再読み込みすると、賛成票がなかったボタンが「賛成票」ボタンに戻ります。(奇妙な):

<% @master_songs.each do |master_song| %>
    <td><div id="upvote-form">
          <% unless current_user.up_voted_song?(master_song) %>
              <%= render 'upvote', :master_song => master_song %>
          <% else %>
              <%= render 'upvoted' %>
          <% end %>
        </div></td>
  <% end %>

song_up_votes.js.erbはこれです:

$("div#upvote-form").html("<%= escape_javascript(render('fan_bases/upvoted')) %>")

列全体ではなく、単一の行の上記のdivを変更する必要があります。

どうすればこれを修正できますか?ヒント/ヘルプは大歓迎です。

4

1 に答える 1

1

すべての div が同じ「upvote-form」ID を持っているようです。したがって、セレクター「div#upvote-form」は、置換のためにすべての賛成票を選択しています。各 div に一意の ID を指定すると、問題が解決するはずです。

于 2012-06-30T01:44:51.573 に答える