J'ai une application rails qui a quelques fonctionnalités simples, permettant à l'utilisateur de sauvegarder/annuler des messages.Rails 3 mise à jour multiple du même élément sur une page en utilisant Ajax
Il fait cette belle et ajaxy, comme ceci:
Vue:
<p id="save_<%= frugle.id %>">
<%= link_to "Save", new_saveds_path(current_user.id, :post_id => post.id), :remote => true %>
</p>
contrôleur
:
class SavedsController < ApplicationController
def new
@follow = Saved.create(:user_id => current_user.id, :post_id => params[:post_id])
@post = Post.find params[:post_id]
render :update do |page|
page.replace_html "save_#{@post.id}", "#{link_to "Unsave", saveds_path(current_user.id, :post_id => @post.id), :method => :delete, :remote => true }"
end
end
Cela fonctionne bien et dandy. Ma question arrive, comme parfois, sur la page d'accueil, l'utilisateur a beaucoup de messages affichés, et parfois le même poste apparaît deux fois. Si l'utilisateur va enregistrer ce post, le RJS ci-dessus changera simplement le premier p avec cet identifiant particulier qu'il rencontrera puis s'arrêtera. Est-il possible de mettre à jour tous les p avec cet ID sur une seule page?
Cela a du sens, n'est-ce pas?
Merci!
Je suis d'accord, je voudrais aller à jquery, mais le site est principalement construit en utilisant les rjs par défaut. Est-il possible d'utiliser le RJS pour mettre à jour les éléments par classe au lieu de id? – goddamnyouryan
page.select ('.chaque_classe'). Each do | element | page.replace_html élément, "
OHAI
" fin – x10