Ruby on Rails - 删除/替换字符串

时间:2016-05-27 09:00:46

标签: javascript jquery ruby-on-rails twitter-bootstrap nested-forms

我使用nested_form以及引导程序选项卡。要使引导程序选项卡正常工作,我需要为每个选项卡指定一个唯一 ID,否则只有4个选项卡中的一个可以正常工作。

我已经能够获得每个嵌套表单输入的id并将其作为唯一ID 提供给每个选项卡:

- field_title = f.text_field :title
- id2 = field_title.match(/id="(?<id>[^"]*)"/)

在我的引导程序选项卡中,我使用了这个解决方案:

.nav-tabs-custom
  %ul.nav.nav-tabs
    %li.active
      %a{"data-toggle" => "tab", :href => "#tab_1_upl_#{id2}"} Upload
    %li
      %a{"data-toggle" => "tab", :href => "#tab_2_url_#{id2}"} link
    %li
      %a{"data-toggle" => "tab", :href => "#tab_3_lib_#{id2}"} image library

  .tab-content
    %div{id: "tab_1_upl_""#{id2}", class: " tab-pane active"}
      image

    %div{id: "tab_2_url_""#{id2}", class: " tab-pane"}
      link

    %div{id: "tab_3_lib_""#{id2}", class: " tab-pane"}
      library

但现在的问题是,锚id就像:

id=" #tab_2_url_id="table_choices_attributes_1464338477560_title" "

正如您可以看到此部分:="table_choices_attributes_1464338477560_title"是此处的问题,并阻止标签正常工作。

我如何才能在id中获取文字或只替换= "

我尝试使用gsubtrtr!并收到错误undefined method

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

trgsub不能与变量一起使用。所以我所做的就是在代码打击中使用 字符串

%div{id: "tab_1_upl_""#{id2}".tr('"=', ''), class: " tab-pane active"}