Я все еще новичок с рубинами и рельсами, и теперь я ищу способы создания меню с вкладками, отмечая элемент списка текущего активного контроллера классом css «current». В Google много хитов, но я не нашел ни одного, с которым мне удавалось работать.Ruby on rails and tabs
У меня есть меню здесь:
<ul>
<li class="current"><%= link_to 'Home', root_path %> </li>
<li><%= link_to 'Browse songs', page_path('browse') %> </li>
<li><%= link_to 'Add song', new_song_path %> </li>
<li><%= link_to 'Request song', artists_path %> </li>
<li><%= link_to 'My ReChord', artists_path %> </li>
<li><%= link_to 'Help', page_path('help') %> </li>
<li id="search"><form><input type="search" placeholder="Type here to find a song or an artist"/></form> </li>
<li class="notab">
<% if user_signed_in? %>
<%= link_to 'Sign out', destroy_user_session_path %>
<% else %>
<%= link_to 'Sign in', new_user_session_path %> or
<%= link_to 'sign up', new_user_registration_path %>
<% end %>
</li>
</ul>
Теперь у меня есть класс = «ток» жестко закодированы на вкладке Главная. Однако при нажатии, например, Просмотр песен, я хочу, чтобы class = "current" был перемещен в соответствующий элемент списка для этой строки.
Обратите внимание, что у меня есть ссылки, которые являются только маршрутом (например, new_song_path) и некоторыми ссылками, которые являются вспомогательными страницами, такими как page_path ('help'). Мне нужно, чтобы он работал для обоих типов ссылок.
Можете ли вы предоставить мне хороший учебник, подходящий для моего двухдневного опыта работы с рельсами или (предпочтительнее) пример кода, который может идеально поместиться в моем списке выше? Заранее спасибо!
Спасибо! Но как я могу заставить его работать с page_path ('browse') и page_path ('help'), которые должны быть двумя разными вкладками? – Johan
Я имею в виду, у меня есть один контроллер, называемый страницей. В контроллере у меня есть функция, называемая show. В этой функции я выполняю: partial => params [: id]. Мне нужно было бы запустить set_tab с динамическим парметером в некотором роде. Я совершенно новичок в рельсах. – Johan
Вы можете вызвать set_tab в своем действии или использовать файл before_filter. –