0

私はnested_formブートストラップタブを使用します。 ブートストラップタブを正しく作成するには、各タブにユニーク IDを指定する必要があります。そうしないと、4つのタブのうちの1つだけが正しく動作します。Ruby on Rails - 文字列内の一部の文字を削除/置換する

私はネストされた各フォーム入力の 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が似ている、ということです。

がここでの問題であると正しく動作し タブを防ぐ:あなたはこの部分を見ることができるように0

id=" #tab_2_url_id="table_choices_attributes_1464338477560_title" "

のテキストidの中にだけ入れることができますか?= "を置き換えますか?

私はgsub,tr,tr!とエラーundefined methodを試しました。

ありがとうございました。

+0

がこれを試しましたか? http://stackoverflow.com/questions/19637677/ruby-remove-characters-from-a-string –

+0

はい、私はエラー '不定方法" tr "'を取得します。私はこれを試しました: 'id2 = field_title.match(/ id ="(? [^ "] *)" /)。tr( "="、 '') ' – Rubioli

答えて

0

trまたはgsubは変数とともに使用できません。だから私が何をしたかのコードブローのように文字列の外にそれをを使用していた:

%div{id: "tab_1_upl_""#{id2}".tr('"=', ''), class: " tab-pane active"} 
関連する問題