Rails:first_or_create不起作用

时间:2015-10-06 23:27:05

标签: 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

当我开始使用此方法时,我可以致电session.url以获取domain2.myshopify.comsession.token以获取22222

但是当我打电话给商店时,我会找到一个shopify_domain: domain1.myshopify.comshopify_token: 11111的商店。

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

1 个答案:

答案 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

一样