【问题标题】:Xrtml And Ruby on Rails, Calendar booking slotXrtml 和 Ruby on Rails,日历预订槽
【发布时间】: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 完整日历来帮助我实现我想要做的事情。然而,事实证明这比我想象的要困难得多。有没有类似的东西就像我正在尝试做的一样

我最初的想法是制作某种日历,其中垂直列出时间,并在水平方向设置插槽,使用户能够单击加号,从而创建新的插槽。

【问题讨论】:

    标签: javascript jquery ruby-on-rails ruby-on-rails-3.1


    【解决方案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>
    

    【讨论】:

    • 感谢您对我所描述的深入和有用的回答做出回应。非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多