1
first_or_create很奇怪。请看下面的方法:Rails: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
。
任何想法为什么会发生这种情况?这似乎很奇怪。
您可以执行'shop = self.find_or_create_by(shopify_domain:session.url,shopify_token:session.token)'或遵循penner的回答。什么'first_or_create'的意思是:尝试从调用者作用域获取第一个元素(在你自己的情况下),如果返回nil,则从输入参数创建一个实例 – AOG
在此失去30分钟。感谢这个问题,我也误解了语法。 – sandre89