Rails:first_or_create不起作用

Jac*_*ham 1 ruby-on-rails shopify

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
Run Code Online (Sandbox Code Playgroud)

当我撬开这个方法时,我可以打电话session.url来获取domain2.myshopify.comsession.token获取22222

但是,当我打电话店,我得到一个店的地方shopify_domain: domain1.myshopify.comshopify_token: 11111.

知道为什么会这样吗?这看起来很奇怪.

pen*_*ner 6

shop = self.where(shopify_domain: session.url, shopify_token: session.token).first_or_create(shopify_domain: session.url, shopify_token: session.token)
Run Code Online (Sandbox Code Playgroud)

你只是得到了第一个.就像打电话给.all.first