Меню с вкладками в Ruby on Rails - PullRequest
2 голосов
/ 05 декабря 2011

Я создаю новый дизайн макета для сайта. В заголовке есть дизайн вкладки, который я хотел бы представить различные частичные в конкретном div. Например

<div class="pages">
<div id ="pages_header">
<div class="menu>
<ul>
<li>Tab1</li> (click to render partial)
</ul>    
</div>
</div>  

<div id="side_bar">

</div>

<div id="pages_content">
    <div class="content">
        <RENDER PARTIAL HERE>
        </div>
    </div>  

</div>

Здесь, когда вы нажмете Tab1, он будет визуализировать часть внутри "pages_content"

Я вижу, что есть много способов сделать это ... например, я могу использовать Bettertabs или http://www.simonecarletti.com/code/tabs_on_rails/

Однако, каков наилучший способ сделать это, чтобы я мог предоставить внешние URL-адреса, которые будут отображать правильные части в нужном месте, наряду с изменением заголовка страницы, чтобы помочь с SEO. Например, www.mysite.com/products/view/product_1 (будет ссылка на частичку product_1 внутри div "pages_content"). В идеале - было бы замечательно загрузить эти партиалы, используя AJAX, чтобы они могли анимировать? И с вкладками, выделенными как активные.

Было бы действительно интересно услышать мнение каждого по этому поводу, так как я сказал, что вижу несколько способов сделать это - просто было бы хорошо сделать лучший! Специально для SEO.

Обновление: Было бы полезно link_to_remote или content_for?

Ответы [ 3 ]

0 голосов
/ 06 декабря 2011

link_to_remote пропал в Rails 3, поэтому я бы не стал его использовать.Вы можете сделать что-то вроде: создать представление вкладок в jQuery-UI и заставить каждую из ссылок сделать запрос AJAX с запросом show.js.erb и использовать JavaScript, чтобы определить, какой HTML-код добавить в DOM.Кроме того, возьмите, если названия и SEO очень важны, вы можете использовать что-то вроде pjax_rails gem.

0 голосов
/ 09 декабря 2011

В конце концов, я фактически использовал инструменты Jquery ... это отличная библиотека Javascript, которая позволяет привязывать ссылки на вкладках.

0 голосов
/ 06 декабря 2011

IMO лучший вариант - использовать стандартные якоря, а затем в jQuery добавить функцию click, которая перезагружает содержимое страницы с помощью AJAX.Если вы поступите таким образом, то, если кто-то с отключенным JavaScript посетит ваш сайт, он сможет перейти по странице (то же самое относится и к веб-паукам).Не очень хорошая навигация по сайту только с AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...