我有一个名为 Token 的简单模型,它有一个 user_id (整数)属性。
如果我这样做:
Token.where(:user_id => 1)
它返回一条记录。但是当我这样做时:
Token.delete(:user_id => 1)
它给了我这个错误:
ActiveRecord::StatementInvalid: Mysql2::Error: Unknown column 'id.user_id' in 'where clause': DELETE FROM `tokens` WHERE `id`.`user_id` = 1
由于某种原因,它在 SQL 语句中将 id 附加到 user_id 。为什么这样做?它适用于 where 子句。