3

Я создаю свое первое веб-приложение, используя Ruby on Rails (v4.1.5), ComfortableMexicanSofa (v1.12.2) для функций CMS и интерфейса администратора и Foundation 5 для интерфейсного интерфейса.Создание навигации со страниц с помощью ComfortableMexicanSofa и Foundation

Чтобы создать фонд для Rails, я последовал за this guide, который создал файлы _navigation.html.erb и _navigation_links.html.erb в /app/views/layouts, среди других файлов.

В официальной документации для ComfortableMexicanSofa есть this brief guide on how to create a navigation menu from CMS pages. К сожалению, из-за отсутствия опыта я не могу это понять.

Соответствующая выдержка из документации:

Как правило, вы бы иметь что-то подобное в вашем помощнике/частичное:

- @cms_site.pages.root.children.published.each do |page| 
    = link_to page.label, page.full_path 

Затем вы можете использовать, что из макета приложения или CMS макет/страницы через тег.

В моем понимании, мне нужно, чтобы создать какой-то помощник в /app/helpers, где мне нужно, чтобы восстановить страницы CMS и обслуживать их на мой взгляд, но я не уверен, как реализовать это чисто с Фондом ,

Любые советы и примеры, которые могли бы указать мне в правильном направлении, были бы весьма полезны.

+0

@cms_site и @cms_page приготовьтесь контроллером CMS, так как они уже доступны в вашей точке зрения - если вид обслуживается CMS. Если представление обслуживается контроллером вашего приложения, вы можете сделать что-то вроде: '' '@cms_site = Comfy :: CMS :: Site.first''' как с любой другой моделью. – laertiades

+0

Спасибо, @JesseGoodfellow. Я слышал, что вы говорите, но, к сожалению, у меня недостаточно опыта работы с Rails, чтобы понять ваши комментарии в практических условиях, необходимых для реализации. Если бы вы не возражали, я был бы очень признателен, если бы вы могли добавить ответ и подробно остановиться на своем комментарии, а также некоторые расширенные примеры кода, которые иллюстрируют, что происходит. – Leif

ответ

3

Вы можете поместить что-то подобное в представлении или частичном:

<nav class="navbar navbar-default" role="navigation"> 
    <ul class="nav navbar-nav"> 
     <li><%= link_to 'Home', '/' %></li> 
     <% Comfy::Cms::Site.first.pages.root.children.published.each do |page| %> 
     <li><%= link_to page.label, page.full_path %></li> 
     <% end %> 
    </ul> 
    </nav> 
+0

Ага, так вот как это называется. Я положил его в '_nagivation_links.html.erb', и он работал как шарм. Этот небольшой пример кода просто ответил на множество вопросов. Благодаря! :) – Leif