Рельсы Simple-Navigation 3 - Основная и дополнительная проблема навигации - PullRequest
0 голосов
/ 04 марта 2012

У меня есть простая навигация для моего просмотра:

SimpleNavigation::Configuration.run do |navigation|
  navigation.active_leaf_class = 'active'
  navigation.items do |primary|
    primary.item :profile,'Profile', edit_user_path do |profile|
      profile.item :basic, 'Basic Information', edit_user_path
      profile.item :additional, 'Addditional Details', additional_details_user_path
      profile.dom_class = 'nav nav-list'
    end
  primary.item :notifications, 'Notifications', notification_preferences_user_path do |notification|
    notification.item :notificatin_preference, 'Notification Preferences', additional_details_user_path
    notification.dom_class = 'nav nav-list'
  end

primary.dom_class = 'nav nav-pills' end end

Дополнительные детали - это другой метод, который не связан сизменить, поэтому он не выделяет основную ссылку профиля, когда я нажимаю на эту ссылку.Как я могу это правильно?Мои ресурсы пользователя в маршрутах выглядят так:

resources :users do
  member do
    get :network
    put :peer_tagged_expertise_list
    get :qr_code
    get :qr_code_image
    get :about_you
    get :timeline
    get :network_tagcloud
    get :user_tagcloud
    get :settings
    get :notification_preferences
    get :additional_details
  end
  collection do
    get :test
    get :followers
  end
  resource :networks
end

1 Ответ

1 голос
/ 04 марта 2012

Новый ответ после получения дополнительной информации

Код структурирования, используемый в простой навигации, не настраивает ваши маршруты автоматически.

Чтобы получить /users/1/profile/additional_details, ваш маршрут должен включать в себя вложение user => profile => дополнительные детали.

Путь должен быть что-то вроде additional_details_user_profile_path при генерации.Это устраняет проблему с URL, но я не уверен, исправит ли это проблему с подсветкой с помощью Bootstrap.

Старый ответ Для простой навигации используйте

navigation.active_leaf_class="active"

, чтобы установить класс активного элемента навигации.Для Bootstrap предмет должен быть классифицирован как active.

SimpleNavigation::Configuration.run do |navigation|
  navigation.active_leaf_class = "active" # Added this line
  navigation.items do |primary|
    primary.item :profile,'Profile', edit_user_path do |profile|
      profile.item :basic, 'Basic Information', edit_user_path
      profile.item :additional, 'Addditional Details', additional_details_user_path
      profile.dom_class = 'nav nav-list'
    end
  primary.item :notifications, 'Notifications', notification_preferences_user_path do |notification|
    notification.item :notificatin_preference, 'Notification Preferences', additional_details_user_path
    notification.dom_class = 'nav nav-list'
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...