首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在创建(rails)后停留在相同的选项卡(bootstrap)?

如何在创建(rails)后停留在相同的选项卡(bootstrap)?
EN

Stack Overflow用户
提问于 2019-09-24 02:16:47
回答 1查看 72关注 0票数 0

我使用以下代码在创建后重定向到表单所在的位置:

代码语言:javascript
复制
  if @book.save 
    redirect_to :home_index

我也有bootstrap垂直标签,其中所有标签共享相同的url (主页/索引)。每个选项卡上都有一个表单,用于创建和列出已创建的内容。

因此,在第一个选项卡上创建后,我返回到第一个选项卡。

我的问题是,当我在第二个、第三个等标签上创建时,我也会返回到第一个标签。我想留在第三个帐单上。

虽然有一些与此相关的问题,但它们都是针对jQuery、PHP等的,而且,我只知道Rails,我发现它们很难使用。我如何使用Rails做到这一点呢?

如果有用,可以参考bootstrap中的tabs代码:

代码语言:javascript
复制
<div class="row">
  <div class="col-3">
    <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
      <a class="nav-link active" id="v-pills-home-tab" data-toggle="pill" href="#v-pills-home" role="tab" aria-controls="v-pills-home" aria-selected="true">Home</a>
      <a class="nav-link" id="v-pills-profile-tab" data-toggle="pill" href="#v-pills-profile" role="tab" aria-controls="v-pills-profile" aria-selected="false">Profile</a>
      <a class="nav-link" id="v-pills-messages-tab" data-toggle="pill" href="#v-pills-messages" role="tab" aria-controls="v-pills-messages" aria-selected="false">Messages</a>
      <a class="nav-link" id="v-pills-settings-tab" data-toggle="pill" href="#v-pills-settings" role="tab" aria-controls="v-pills-settings" aria-selected="false">Settings</a>
    </div>
  </div>
  <div class="col-9">
    <div class="tab-content" id="v-pills-tabContent">
      <div class="tab-pane fade show active" id="v-pills-home" role="tabpanel" aria-labelledby="v-pills-home-tab">...</div>
      <div class="tab-pane fade" id="v-pills-profile" role="tabpanel" aria-labelledby="v-pills-profile-tab">...</div>
      <div class="tab-pane fade" id="v-pills-messages" role="tabpanel" aria-labelledby="v-pills-messages-tab">...</div>
      <div class="tab-pane fade" id="v-pills-settings" role="tabpanel" aria-labelledby="v-pills-settings-tab">...</div>
    </div>
  </div>
</div>
EN

回答 1

Stack Overflow用户

发布于 2019-09-24 04:26:22

我可以想出几种方法来实现这一点:

  1. 使用ajax请求触发选项卡创建,然后从控制器使用新选项卡的html进行响应,并将其插入到DOM中,然后在接收到ajax响应时切换到客户端。在页面加载时调用的or...
  2. javascript通过检查html查询字符串来暴露选项卡。例如,www.mypage.com?tab=foo_tab在页面加载时打开foo_tab。在控制器中,创建后重定向到具有在查询中指定的所需选项卡的页面。

我会选择第一种方法,b/c用户体验会比加载新页面更好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58068052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档