有没有办法在没有id
列的表中销毁Rails Active Record条目?我知道有几种方法可以用ids
销毁Active Records,如下所示:
User.destroy(1)
User.first.destroy
但是,如果没有id
,我似乎无法找到这样做的方法。我检查了this link的建议但无济于事。理想情况下,我想到的是这样的:
User.where(name: "Dummy").destroy
# Returns this:
# ArgumentError (wrong number of arguments (given 0, expected 1))
我知道在没有id
列的情况下在Rails中创建表通常是不鼓励的。虽然我想尽可能地删除这个特定的表格,但如果事实证明没有变通方法,我愿意列出。提前致谢。
User.where(name: 'Dummy').destroy
不起作用的原因是User.where(name: 'Dummy')
是一种关系,而不是单一的记录。例如,如果你想要使用name
等于'Dummy'
来销毁所有记录,你可以使用destroy_all
:
User.where(name: 'Dummy').destroy_all