2016-04-15 20 views
0

私は自分のモデルと一緒に働くためのタイムテーブル設定を作成しようとしています。私が質問を述べる前に、私は問題にいくつかの文脈を与えるでしょう。Timetable App for Rails 4

私は、次の列を持つ予定と呼ばれるモデルがあります。今、私は1日に複数の予定を持つことができます

Name(String) 
Start_time(time) 
End_time(time) 
Appt_Date(date) 

を。それぞれの

Appointment 1: 
Name: Makeup Appointment 
Start_time: 11:00 am 
End_time: 1:00 pm 
Date: March 30, 2016 

Appointment 2: 
Name: Daily Meetup 
Start-time: 2:00 pm 
End_time: 3:00 pm 
Date: March 30, 2016 

私はあなたが日付を選択できる日付ピッカーのフォームを実装したいと思いますし、それが24行をレンダリングします(1:

例については

、のは、私は、次の2予定オブジェクトを持っているとしましょうその日の予定に基づいて利用できない時間を行に入力します。

たとえば、日付選択ツールで2016年3月30日を選択した場合は、24行をレンダリングし、午前11時から午後1時および午後2時から午後3時までの行をシャドーアウトします。

セットアップは、Googleカレンダー(タイムスロットの色付け方法)と同じですが、日常的に行われます。これらの行を編集する必要はありません。私はそれらを見て、その特定の日のAppointmentオブジェクトに基づいて色付きのセルをレンダリングする必要があります。

私の問題は、これらの24行を予定表オブジェクトと対話するように設計することができるかどうかわかりません。私はおそらく私はヘルパーメソッドを構築すると思っていましたが、それでも私はかなり失われています。私はこれにどのように接近するかに関するいくつかの指針を感謝します。

+0

なぜ、あなたの 'Appointments'のための両方とも' datetime'フィールドで 'starts_at'と' ends_at'を使わないのでしょうか?これらのフィールドには3つのフィールドがありません。これにより、必要に応じて複数の日にまたがる予定が可能になります。 – Jon

+0

有効な提案!私はそれを徹底的に調べます。 – kpaul

答えて

0

以下のお手伝いを致します。

1.Create a file in initializer which contains list of available time slots like 10 am to 10 pm. 
    2.For displaying date time field , use some jquery date time picker plugin. 
    3.Fire an ajax when clicked on datetime picker. 
    4.Ajax request will come on the controller & where you have to create an active record query which will fetch all apointments according to the particular date. 
    5.MAke an array variable & store the time which are already booked in the above appointments. 
    6.Compare the available time with the booked time & edit datetimepikcer.js to shaded the booked date.