私は現在、クライアントのディレクトリリストを設定していますが、ユーザーにより多くの柔軟性を提供したいと考えています。したがって:ユーザーに数日間のブロックを設定させます:
日があります (整数1〜7)、開く (時間)、終了 (時間)そしていくつかの店や観光スポットは夏と冬の営業時間を持っているか、彼らは休暇を取ります。 schema.org によると valid_from(日時)とvalid_through(日時)を追加する必要があります。
この設定により、ユーザーは必要なものを作成できます。
# migration
class CreateOpeningHours < ActiveRecord::Migration
def change
create_table :opening_hours do |t|
t.integer :entry_id # your model reference
t.integer :day
t.time :closes
t.time :opens
t.datetime :valid_from
t.datetime :valid_through
end
end
end
モデルの例:
class OpeningHour < ActiveRecord::Base
belongs_to :entry
validates_presence_of :day, :closes, :opens, :entry_id
validates_inclusion_of :day, :in => 1..7
validate :opens_before_closes
validate :valid_from_before_valid_through
# sample validation for better user feedback
validates_uniqueness_of :opens, scope: [:entry_id, :day]
validates_uniqueness_of :closes, scope: [:entry_id, :day]
protected
def opens_before_closes
errors.add(:closes, I18n.t('errors.opens_before_closes')) if opens && closes && opens >= closes
end
def valid_from_before_valid_through
errors.add(:valid_through, I18n.t('errors.valid_from_before_valid_through')) if valid_from && valid_through && valid_from >= valid_through
end
end
その設定で、is_openを簡単に作成できますか?モデルのメソッド。現在、is_openを設定していませんか?方法ですが、誰かが必要な場合は、私にヒットしてください!数日で完成すると思います。