2012-04-06 2 views
0

Я настроил twitter bootstrap на приложении Rails 3.0 и создал страницу (edit.html.haml) с тремя вкладками. Вот мой код (я использую HAML):twitter bootstrap вкладки доступ по внешней ссылке

.tabbable 
    %ul.nav.nav-tabs 
     %li.active 
     %a{"data-toggle" => "tab", :href => "#1"} 
      %i.icon-pencil 
      Edit Profile 
     %li 
     %a{"data-toggle" => "tab", :href => "#2"} 
      %i.icon-lock 
      Privacy Preferences 
     %li 
     %a{"data-toggle" => "tab", :href => "#3"} 
      %i.icon-cogs 
      Site Preferences 
    .well-two 
     .tab-content 
     #1.tab-pane.active 
      %p ... 
     #2.tab-pane 
      %p ... 
     #3.tab-pane 
      %p ... 

Вкладки работают хорошо, когда я нахожусь на странице редактирования (я могу перемещаться между ними, и они реагируют, как они должны); однако, скажем, я на странице show (show.html.haml) и имею кнопку, которая гласит: Нажмите здесь, чтобы изменить настройки конфиденциальности (то есть: перейдите во вторую вкладку на странице редактирования) ... какой код необходимо связать с контентом Privacy Setting (№ 2)?

У меня есть следующий код:

=link_to "#{raw('<i class="icon-plus-sign icon-large"></i>')} Privacy Settings".html_safe, edit_path(current_profile, :anchor => "2") 

Но это не работает ... он принимает меня к странице редактирования, но не загружает настройки конфиденциальности данных (то есть данные под № 2).

Примечание: даже когда я нахожусь на странице редактирования и меняю свой URL-адрес от: http://localhost:3000/users/1/edit до http://localhost:3000/users/1/edit#2, он не ведет меня ко второй вкладке.

Я не хватает каких-либо дополнительных JS? Ваша помощь будет чрезвычайно оценена. Кроме того, ваши ответы не обязательно должны соответствовать требованиям Haml или Rails ... Я могу их переписать, я просто ищу советы и рекомендации. Спасибо!

ответ

0

этот код, казалось, решить эту проблему:

:javascript 
    $(document).ready(function(){ 
    $('a[href="' + window.location.hash + '"]').click() 
    }); 
Смежные вопросы