Xrtml 和 Ruby on Rails,日历预订槽

Posted

技术标签:

【中文标题】Xrtml 和 Ruby on Rails,日历预订槽【英文标题】:Xrtml And Ruby on Rails, Calendar booking slot 【发布时间】:2012-02-29 00:16:45 【问题描述】:

我正在尝试构建一个时间段日历,以便预订经理可以从日历中创建时间段。我在下面找到了一些示例:

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) 您的 Connection 标签仍将值 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 容器来呈现它。在标签中,您会看到 target="#divcalendar",这是一个用于呈现日历 html 的 div 的 Sizzle 选择器,因此您必须在某处包含:

<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>

【讨论】:

感谢您对我所描述的深入和有用的回答做出回应。非常感谢:)

以上是关于Xrtml 和 Ruby on Rails,日历预订槽的主要内容,如果未能解决你的问题,请参考以下文章

heroku 部署错误 ruby​​ on rails

带有 Ruby on Rails 的 Jquery Datepicker 不起作用

使用 find_by 加载 Ruby on Rails

Ruby on Rails 中身份验证的最佳解决方案 [关闭]

ruby 使用Capistrano 3和rsync进行本地Rails 4资产预编译

思考Ruby On Rails的底层代码(Ruby on Rails 開發秘籍 | Ruby on Rails 快速入門)