Rails5 如何重构 find_or_create_by

Rails5 how to refactor a find_or_create_by

我有一些旧代码正在尝试移植到 Rails 5(原因)

而我 运行 喜欢这个....

  def vol_event_for_date(date)
    VolunteerEvent.find_or_create_by_description_and_date("Roster ##{self.id}", date)
  end

  def vol_event_for_weekday(wday)
    VolunteerDefaultEvent.find_or_create_by_description_and_weekday_id("Roster ##{self.id}", wday)
  end

我是从 post 上看到的 S.O 知道的。 find_by thingie 是某种过时的 Rails 帮手所以我的问题是......我如何为 Rails 5.0.7 应用程序重构它?

更改实际上非常简单,如 Rails 4 Active Record Deprecations

中所述

find_or_create_by_... can be rewritten using find_or_create_by(...).

VolunteerEvent.find_or_create_by_description_and_date("Roster ##{self.id}", date)

刚改成

VolunteerEvent.find_or_create_by(description: "Roster ##{self.id}", date: date)