我有一个商家模型。模型接受工作时间模型的accept_nested_attributes。
商家模式
class Merchant < ApplicationRecord
has_many :working_hours, inverse_of: :merchant, dependent: :destroy
accepts_nested_attributes_for :working_hours, reject_if: :all_blank, allow_destroy: true
end
工作时间模型
class WorkingHour < ApplicationRecord
belongs_to :merchant
end
working_hours表有:
class CreateWorkingHours < ActiveRecord::Migration[5.0]
def change
create_table :working_hours do |t|
t.integer :day
t.time :open_time
t.time :close_time
t.references :merchant, foreign_key: true
t.timestamps
end
end
end
商家白天可以有多个工作小时 例如:8:00至12:00 / 15:00至18:00。
我想创建一个方法,以便在商家被打开或关闭时返回。我怎么能这样做?
答案 0 :(得分:1)
<强>更新强>
我们应该失去self.
部分
尝试将此添加到您的商家模型
def open?
self.working_hours.any? { |wh|
(wh.open_time.hour..wh.close_time.hour).cover?(Time.current.hour)
}
end