5

レコードが新しく保存されたかどうかを確認する方法がわかりません。今私は使用しています

 If @item.save
      @a = Item.where(“restaurant_id = ?”, params[:item][:user_id]).where(“created_at < ?”, 2.minutes.ago)

クエリは正常に機能していますが、レコードが作成されたかどうかを確認するためのより良い方法があるかどうか疑問に思っています. ActiveModel::Dirty を調べていましたが、レコードが保存されると、:created_at_changed? false を返します。

4

2 に答える 2

1

レールがこれを確認する方法を提供しているとは思いません。ActiveRecord を使用して独自に実装できます。

def recently_created?
  Item.where("restaurant_id = ? AND created_at < ?", params[:items][:user_id], 2.minutes.ago)
end

すべての ActiveRecord モデルに必要な場合は、ActiveRecord::Base クラスに追加します。

于 2013-08-25T01:50:45.353 に答える