1

我在 Rails 上建立了一个新门户,可以这样访问:https ://xyz.com

这样做的问题是:1.) 它有 2 个选项卡——“ShipmentInfo”、“Aging Shipments Dashboard”都使用实现

<li> tags and YUI library’s tabview.
    <ul class="yui-nav">
        <li id="tab1" class="selected"><a href="#tab1">Shipment Info</a></li>
        <li id="tab2"><a href="#tab2">Aging Shipments Dashboard</a></li>
    </ul>

2.) 当我点击“Aging Shipments Dashboard”选项卡时 – url 应该是 – https://xyz.com/#tab2但你只能看到https://xyz.com。我认为这是因为 Tabs 的客户端实现。

3.) 在我单击该选项卡中的“当前摘要”按钮后,我得到了相应的结果,但不是向我显示设置为“Aging Shipments Dashboard”的活动选项卡,而是始终设置为“ShipmentInfo”选项卡。

如何将 activeTab 设置为将结果获取到已发出请求的相应选项卡?所有表单请求都使用 GET 方法。

或者有没有一种方法可以让我在 routes.rb 中明确提及,基于 activeTab 应该设置为“Aging Shipments Dashboard”的参数?

谢谢,拉贾。

4

2 回答 2

1

据我所知,无论 YUI 将其转换ul为一组选项卡所做的任何事情,都可能hrefli. 我认为您应该验证生成标签的使用语法。

继续前进,href链接仅指向当前页面中的锚点。这意味着客户端(浏览器)不必发送 HTTP 请求来重新获取当前页面。我不认为现代浏览器会这样做。我怀疑他们发送 URL 的锚部分( 之后的部分#),因为 HTTP 服务器不关心该信息。

这相当于,当用户单击选项卡时,您的 rails 应用程序永远不会收到通知,并且永远不会获得 URL 之后的部分#。所以你不能在路由表中放置任何关于它的规则。

编辑:我忘了告诉你真正应该发生什么。

  1. 根据您的描述,YUI(或其他一些 javascript 代码)应附加到li看起来像选项卡的 onClick 上。
  2. 当用户单击选项卡时,它会读取 URL,并以某种方式判断要显示为选项卡内容的 content-tag。例如,这可能是一个div包含第二个选项卡内容的 a,它可能有一个idoftab2或其他东西。
  3. 然后它使当前选项卡的内容不可见。通常使用 CSSdisplay属性完成,将其设置为display: none.
  4. 最后,被点击的选项卡的内容是可见的。这将使用display: block或类似的东西来完成。
于 2009-01-28T07:56:12.640 回答
0

是的。您可能已经在您的 routes.rb 文件的末尾有这些行:

map.connect ':controller/:action/:id' map.connect ':controller/:action/:id.:format'

将它们更改为:

map.connect '#:controller' map.connect ':controller/:action/:id' map.connect ':controller/:action/:id.:format'

通过这种方式,您可以在 rails 应用程序中将这两个变量定义为不同的控制器。您也可以执行与两个操作相同的操作,但这是您的决定。

于 2009-01-29T07:25:21.360 回答