Railsコンソールを介してアクセスしている数千の「チケット」ドキュメントを含むmongoデータベースがあります。これらのドキュメントのすべてではありませんが、コンソールから次のコマンドを実行すると、予期しない結果が発生します。フィールドの値が更新されません。Rails 1.9.3-p194、mongo 2.0.4
Ticket.where("title" => /failing example/).first.status
=> "Assigned"
Ticket.where("title" => /failing example/).first.status='Completed'
=> "Completed"
Ticket.where("title" => /failing example/).first.status
"Assigned"
は?OK、別の方法で試してみましょう。
Ticket.where("title" => /failing example/).first do |t|
t.status='Completed'
t.save
end
"Completed"
Ticket.where("title" => /failing example/).first.status
"Assigned"
これは私を混乱させました。