web-dev-qa-db-ja.com

コンソールからレコードを削除する-Ruby on Rails

コンソールからレコードを削除したい。

スクリプト/コンソールからログインし、

User.find(1).delete
$<User id: 1, ..............>
User.find(1)
ActiveRecord::RecordNotFound: Couldn't find User with ID=1
........
........
........

ここまですべてうまくいきます。

しかし、コンソールを終了してスクリプト/コンソールコマンドでコンソールに戻ると、id = 1のレコードを再び表示できます。

データベースはローカルではなく、ipを指定してdatabase.ymlを介して接続しています。

開発用ローカルデータベースで同じことを行おうとすると、すべてうまくいきます。

誰かが何が起こっているのか、どこに行方不明になっているのか説明してくれますか?

ありがとう

16
kill007

試す

User.find(1).destroy

これはコンソールなどで機能するはずです。

41
vandrop

同様に、以下のように、Railsコンソールから特定のオブジェクトのすべてのタプルを削除できます。

@object = Object.all

@object.each do |o|
  o.delete
end
3
Adam Hammouda

コンソールからモデルデータを削除する簡単な方法

Rails console

ユーザーモデルをインスタンス変数に保存する

user = User.find(1)

次のコマンドで関係を削除または破棄します

user.delete

または

user.destroy
1
Dinesh Pallapa

User.countまたはy User.countを試してください

User.first(firstは削除する番号)

User.first.destroy

0
LukeBickleTWA

サンドボックスモードでコンソールを起動していないことを確認してください。削除操作ができなくなります。

0
webaholik