我使用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
中获取文字或只替换= "
?
我尝试使用gsub
,tr
,tr!
并收到错误undefined method
。
感谢您的帮助。
答案 0 :(得分:0)
tr
或gsub
不能与变量一起使用。所以我所做的就是在代码打击中使用 字符串
%div{id: "tab_1_upl_""#{id2}".tr('"=', ''), class: " tab-pane active"}