gpt4 book ai didi

ruby - 不能在 Ruby Sequel 中使用 'delete'

转载 作者:数据小太阳 更新时间:2023-10-29 07:49:57 26 4
gpt4 key购买 nike

我从 Ruby 的 Sequel 数据库开始。

给定以下代码:

require 'sequel'
db = Sequel.connect('sqlite://users.db')
users = db[:users]
users.first.delete

Ruby 抛出错误:

'delete' : wrong number of arguments (0 for 1) (ArgumentError)

我可以删除多条记录,但是 .first.delete 不起作用。怎么了?

最佳答案

db[:users]给你一个 Sequel::SQLite::Datasetusers.first方法 不带任何参数 为您提供一个用户作为 Hash 对象。现在你调用Hash#delete ,这需要一个参数。但是你没有传递那个论点。因此它是提示

而是按照下面的方式做:

# if you want to delete the the first matching argument of any specific
# attribute/db column
db[:users].filter(:key => 1).delete
# or if you want to delete the first record from db
db[:users].limit(1).delete

阅读此 #drop方法也。

关于ruby - 不能在 Ruby Sequel 中使用 'delete',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22583317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com