【问题标题】:Single form that spans across tabs跨选项卡的单一表单
【发布时间】:2024-05-04 03:35:02
【问题描述】:

我想跨选项卡跨越表单,这样无论编辑哪个选项卡,一个提交按钮都可以提交编辑。这是我尝试过的不起作用的方法。我正在使用 Rails 4、haml、simple_form 和 Bootstrap 3。

%ul.nav.nav-tabs
  %li.active
  %a{"data-toggle" => "tab", href: "#tab_1"} Tab 1
  %li
  %a{"data-toggle" => "tab", href: "#tab_2"} Tab 2
.tab-content
  =simple_form_for @account do |f|
    #tab_1.tab-pane.active
    =f.input :account_number
    =f.input :name
    #tab_2.tab-pane
    =f.input :account_datails_1
    =f.input :account_deatils_2
    .form-actions
      = f.submit nil, :class => 'btn btn-primary'
      = link_to 'Cancel', accounts_path, :class => 'btn'

我知道我可以在每个选项卡上放置一个单独的表单,但我想通过一次提交将其他选项卡上的详细信息分开。这可能吗?

【问题讨论】:

    标签: ruby-on-rails twitter-bootstrap haml simple-form


    【解决方案1】:

    我以前遇到过这种情况,我所要做的就是这样做(当然这可能不是理想的做法,但确实对我有用):

    =simple_form_for @account do |f|
      %ul.nav.nav-tabs
        %li.active
        %a{"data-toggle" => "tab", href: "#tab_1"} Tab 1
        %li
        %a{"data-toggle" => "tab", href: "#tab_2"} Tab 2
      .tab_content  
        #tab_1.tab-pane.in.active
        =f.input :account_number
        =f.input :name
        #tab_2.tab-pane
        =f.input :account_datails_1
        =f.input :account_deatils_2
      .form-actions
        = f.submit nil, :class => 'btn btn-primary'
        = link_to 'Cancel', accounts_path, :class => 'btn'
    

    本质上,只需将 '= simple_form' 表达式移到 .tab_content 上方

    【讨论】:

    • 感谢克雷格,但该死的,这并没有帮助。我认为你在正确的轨道上,有嵌套的东西。
    • 没问题......它应该只是元素的排序(即嵌套)。我仔细检查了我的 HAML 代码,这是一个问题,我能够将 simple_form_for 东西放在我的选项卡之外,但可能在上面的答案中做错了(也许尝试交换 .tab_content 和 = simple_form_for?)跨度>
    • 我让它工作并更新了您的答案以反映正确的顺序。感谢您的帮助!
    • 甜...很高兴它被排序了!
    最近更新 更多