要素のコレクションを反復処理し、AJAXがコレクション内の特定の要素に対して正しく動作するようにしようとしています。これらの項目を反復処理し、このようjs.erb
コールを使用するために、私はいくつかの部分音を入れ子にしています:Ruby on Rails AJAX呼び出しは、コレクションの最初の要素にのみ影響します。
$('#favorite_form').html("<%=j render partial: 'shared/unfavorite', locals: { mission: @mission } %>");
これが唯一の私が5日をクリックすることができていても、コレクションに
第一項目を変更するようだ
例えば、リストの下にある項目。
質問:どの要素を更新するか(.jsとAJAX経由で)どのように指定できますか?このjQueryの呼び出しは、個々の要素に十分なものではないのですか?コードは、通常のHTTPリクエストで動作するので、個々の要素を指定する方法がある場合、私は思ったんだけど、私はそれがパーシャルがやったことだと思った:あなただけのアイテムを更新しようとしている場合は/
Example View (_favorites.html.erb)
<div id="favorite_form">
<% if you_favorited_this?(current_user, mission) %>
<%= render partial: 'shared/unfavorite', locals: { mission: mission } %>
<% else %>
<%= render partial: 'shared/favorite', locals: { mission: mission } %>
<% end %>
</div>
ID「favorite_form」の複数のdivがありますか? IDは一意でなければならず、多くの場合はクラスを使用します。 – mdarwi
特に '$( '#favorite_form')'は、ページ内のそのIDの最初の出現としか一致しません。あなたのdivをクラス – xkickflip
@xkickflipに変えれば、 '$( '。favorite_form')'はそれらをすべて取得します。それをクラスに変更した、あなたが正しい、彼らはすべて変化する!残念ながら、これは望ましい結果ではありません。一意のクラス名で各要素を一意に識別することをお勧めしますか?私は良い方法がなければならないことを知っています。 – pruett