first_or_create非常奇怪的问题。请考虑以下方法:
def self.store(session)
shop = self.first_or_create(shopify_domain: session.url, shopify_token: session.token)
binding.pry
shop.save!
shop.shopify_domain
end
当我开始使用此方法时,我可以致电session.url
以获取domain2.myshopify.com
和session.token
以获取22222
但是当我打电话给商店时,我会找到一个shopify_domain: domain1.myshopify.com
和shopify_token: 11111
的商店。
知道为什么会这样吗?这看起来很奇怪。
答案 0 :(得分:6)
shop = self.where(shopify_domain: session.url, shopify_token: session.token).first_or_create(shopify_domain: session.url, shopify_token: session.token)
你只是获得了第一个。就像打电话给.all.first
一样