Rails 4 Active Record finder方法

时间:2013-09-28 18:56:25

标签: activerecord ruby-on-rails-4 dynamic-finders

我有一个Rails 3 Active Record finder方法,我正在尝试将其更新为rails 4 patten。

在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

2 个答案:

答案 0 :(得分:1)

目前还不清楚为什么你选择以这种方式获取记录

user = User.find_by_customer_id(event.data.object.customer)

答案 1 :(得分:-1)

{@ 1}}已被弃用。

在Rails 4中,请像find_by_*一样使用:

find_by

您可以在这篇精彩的博文中了解有关弃用发现者的更多信息:What's new in Active Record [Rails 4 Countdown to 2013] | The Remarkable Labs Blog。或者查看CodeSchool的Rails 4: Zombie Outlaws课程。