以下の動作をすると代入していたオブジェクトがなくなります。
データを更新してもオブジェクトを失わない方法教えていただきたいです。
users = User.active
users.update_all(status: :process)
(usersの中身が空になってしまう)
このコードだけだとデータの関係性が不明です。
モデルも含めて定義も一通りご提示ください。
あと、update後に改めてnewするとかそういう話ではないですか?
Userテーブルにはstatusというカラムがあり、
(activeとprocess)をenumで用意しています。
はじめにUser.activeでactiveのもだけを取得しusersに代入
users.update_all(status: :process)でステータスを変更すると
usersの中身がなくなってしまいます。
なくならない方法がないか知りたいだけなのですが、、、
なくなる理由としてusersに代入しているのが、実際には以下のようなSQLだからだと思うのですが、
SELECT `users`.* FROM `users` WHERE `users`.`status` = 0
usersにsqlではなくオブジェクトそのものを代入する方法があればいいのですが
回答1件
あなたの回答
tips
プレビュー