2012-02-07 47 views
4

我正嘗試構建一個時間段日曆,藉此預訂管理器可以從日曆創建時間段。我已經發現了一些例子如下:Xrtml和Ruby on Rails,日曆預訂插槽

Time slot calendar

XRTML Calendar Booking

想知道是否有可能有xRTML與Ruby on Rails的工作。我下載了.js文件並將其放在我的assets/javascript文件夾中。

我發現xRTML有自己的標籤,並將演示代碼放在index.html.erb中。但是這似乎並不奏效。

我index.html.erb文件看起來像下面這樣:

<xrtml:config debug="false"> 
    <xrtml:connections> 
     <xrtml:connection appkey="myAppKey" authenticate="false" 
      authtoken="myDevToken" url="http://developers.realtime.livehtml.net"> 
      <xrtml:channels> 
       <xrtml:channel name="myChannel" permission="write"/> 
      </xrtml:channels> 
     </xrtml:connection> 
    </xrtml:connections> 
</xrtml:config> 


<xrtml:calendar channelid="myChannel" dayonly="false" 
    enddate="2011-12-13" handlerurl="./handler/calendarTest.ashx" 
    id="calendarXPTO" lang="en" receiveownmessages="true" 
    startdate="2011-08-13" target="#divcalendar" userid="userxpto"> 
    <xrtml:triggers> 
     <xrtml:trigger name="myTrigger"/> 
    </xrtml:triggers> 
    <xrtml:slots> 
     <xrtml:slot value="09:00 - 10:00|10:00 - 11:00|11:00 - 12:00|12:00 - 13:00|15:00 - 16:00|16:00 - 17:00|17:00 - 18:00"/> 
     <xrtml:slot value="09:00 - 18:00" weekday="Sat"/> 
     <xrtml:slot weekday="Sun"/> 
    </xrtml:slots> 
</xrtml:calendar> 

我一直在使用jQuery的完整的日曆幫我實現我所試圖做的也算。然而,這證明比我想象的更困難。有沒有什麼類似的,就像我想要做的那樣

我最初的想法是有一些排序的垂直時間和水平插槽的日曆,使用戶點擊一個加號,將創建新的插槽照原樣。

回答

1

xRTML旨在與任何發送HTML到瀏覽器的平臺/框架一起工作,所以 對Ruby或Ruby on Rails沒有限制。 有四件事情在你的代碼,DJJ丟失:

1)您連接標籤仍然具有價值appkeyauthtoken設置爲附帶的文檔的默認值,你需要使用的開發工具包提供的那些。 ..

<xrtml:connection appkey="myAppKey" authenticate="false" authtoken="myDevToken" url="http://developers.realtime.livehtml.net"> 

2)你不包括劇本到您的網頁(也許你只是沒有把它粘貼到你的問題,但:)

<script type="text/javascript" src="path/to/xrtml.js"></script> 

3)日曆標籤要求一個HTML容器,它將被渲染。在代碼中,你看到目標=「#divcalendar」,即是在日曆的HTML將呈現一個div一個灒選擇,所以你必須包括地方:

<div id="divcalendar"></div> 

4)的處理程序中的持久性...這是事情變得嚴重的地方。 Calendar標記需要服務器端處理程序和數據庫來處理記錄。所以,你必須在ruby中實現日曆所做的ajax調用處理程序(你可以在'3.2持久性數據'部分的http://docs.xrtml.org/markup/calendar.html找到它的文檔。所以,在定義標籤時:

<xrtml:calendar ... handlerurl="path/to/yourhandler" ...></xrtml:calendar> 
+0

感謝您對我所描述的深入而有用的答案做出迴應。非常感激 :) – David 2012-02-10 11:59:54