मैं वर्तमान में एक क्लाइंट के लिए एक निर्देशिका सूची स्थापित कर रहा हूं और हम उपयोगकर्ता को अधिक लचीलापन देना चाहते हैं। तो:उपयोगकर्ता को कुछ दिनों के लिए ब्लॉक सेट करने दें:
हमारे पास एक दिन . है (पूर्णांक 1-7), खुलता है (समय), बंद (समय) और कुछ दुकानों या स्थलों में गर्मी और सर्दियों के खुलने का समय होता है, या वे छुट्टियां मनाते हैं। schema.org के अनुसार आपको एक वैध_फ्रॉम (डेटाटाइम) और एक वैध_थ्रू (डेटाटाइम) जोड़ना होगा।
इस सेटअप के साथ उपयोगकर्ता जो चाहे बना सकता है:
# 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 सेटअप नहीं किया है? विधि, लेकिन अगर किसी को जरूरत है, तो मुझे एक हिट दें! मुझे लगता है कि मैं इसे अगले दिनों में समाप्त कर दूंगा।