0
Lats sagen, dass ich eine Beziehung haben:Vermeiden Sie Active Beziehung in Rails neu geladen werden
@active_posts = Post.where(active: true).limit(3) # returns 3 active posts, but there are much more then 3
ich einige Mitglieder dieser Beziehung Dann ändern:
@active_posts.first.update active: false
@active_posts.size # returns 3, but need 2 remaining
Wie kann ich den Rest 2 aktiv werden Beiträge in dieser Beziehung? Wenn ich versuche, @active_posts zu durchlaufen, wird es von db neu geladen und den deaktivierten Post durch den aktiven ersetzt. Aber wie kann ich genau 2 aktive Beiträge von dieser Relation erhalten, die nach Deaktivierung der dritten übrig bleiben?
Es ist kein Fall. Weil die letzte Anweisung wieder 3 aktivierte Posts zurückgibt (db hat mehr als 3 aktive Posts. Ich sollte mein Beispiel beheben. – Molfar
add @ active_posts.reload nach Update-Anweisung –
@Molfar leider ist Rails nicht so schlau. Es ist eine gute Angewohnheit, nicht anzurufen. neu laden und immer einen Bereich verwenden. –