2010-11-15 6 views
2

j'ai un modèle:rails Trouver et mettre à jour un dossier

ChatStatus avec les champs suivants (ID, user_id, état, ID_thread)

Ce que je veux faire est la mise à jour du statut de l'utilisateur du « non lu » 'lire'

Ce que je dois faire est:

@chat = current_user.chats.where(:thread_id => 23) 

23 est venu d'un poste AJAX. Je dois alors faire:

@chat.status = 'read' 
@chat.save 

Qui frappe la base de données deux fois. Je me demande est-il un moyen de faire tout cela dans la demande à la base de données? Quelque chose comme:

@chat = current_user.chats.where(:thread_id => 23).status = 'read' 

Merci

Répondre

2

Je pense que c'est la syntaxe que vous recherchez:

current_user.chats.where(:thread_id => 23).update_all(:status => 'read') 
+0

ben merci. travaillé comme un charme. Ma base de données vous remercie – AnApprentice

Questions connexes