1

Rails 3 Active Record finder メソッドがあり、Rails 4 パターンに更新しようとしています。

Rails 3 では、私のコードは次のようになりました

StripeEvent.setup do
  subscribe 'customer.subscription.deleted' do |event|
    user = User.find_by_customer_id(event.data.object.customer)
    user.expire
  end
end

Rails 4でこれを試しましたが、このコードは正しいですか?

StripeEvent.setup do
  subscribe 'customer.subscription.deleted' do |event|
    user = User.where(customer_id: (event.data.object.customer) )
    user.expire
  end
end
4

2 に答える 2

1

できるのに、なぜこの方法でレコードを取得することを選択するのかは不明です

user = User.find_by_customer_id(event.data.object.customer)
于 2013-09-28T19:01:15.547 に答える
-1

find_by_*非推奨です。

Rails 4 では、find_by次のように使用してください。

User.find_by(customer_id: event.data.object.customer)

Deprecated Finder の詳細については、次のすばらしいブログ記事を参照してください: Active Record の新機能 [Rails 4 Countdown to 2013] | Remarkable Labs ブログ。または、CodeSchool のRails 4: Zombie Outlawsコースをチェックしてください。

于 2013-10-17T14:43:51.473 に答える