什么是first_or_create/ first_or_create!法Rails的呢?
根据文档,方法" 没有描述 "......
与此问题相关,我正在编写的此函数确实会更新记录。它只是加载它。
Blob.where(user_id: user.id, item_id: item.id).first_or_create do |s|
s.amount += amount
end
Run Code Online (Sandbox Code Playgroud)
输出: Blob Load (0.5ms) SELECT "blob".* FROM "blobs" WHERE "blobs"."user_id" = $1 AND "blobs"."item_id" = $2 ORDER BY "blobs"."id" ASC LIMIT $3 [["user_id", 2], ["item_id", 5], ["LIMIT", 1]]
如果记录不存在,则创建该记录,但如果存在则仅加载并且不更新。是什么赋予了?