我在 RoR 只待了很短的時間。
我有一個帶有欄位的串列表:狀態(啟用,禁用)和結束日期,我有我的表格,我在其中放置了某個結束時間。我希望在達到此結束時間時,狀態欄位更改為禁用。我能做些什么來實作這一目標嗎?
create_table "lists", force: :cascade do |t|
t.integer "user_id"
t.binary "uuid", limit: 36
t.string "name"
t.string "description"
t.datetime "end_date"
t.integer "status", default: 1
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["user_id"], name: "index_lists_on_user_id"
結尾
uj5u.com熱心網友回復:
您可以創建一個方法來檢查結束時間是否與當前日期相同,然后設定狀態值
def self.update_status
List.where(end_date: DateTime.current).update_all(status: 'disabled')
end
現在,您可以根據您的要求從調度程式中呼叫此方法,以每分鐘、每小時或每天運行此方法。每當gem 撰寫計劃作業時就結帳。
every :hour do # Many shortcuts available: :hour, :day, :month, :year, :reboot
runner "List.update_status"
end
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/481963.html
標籤:轨道上的红宝石 红宝石 ruby-on-rails-3 ruby-on-rails-4
下一篇:返回列表