2015-05-07 2 views
1

Хорошо, поэтому сейчас я разрабатываю сайт в рельсах. В основном это статический сайт (но я использую рельсы, потому что, в конечном итоге, мой клиент хочет добавить в блог и добавить функциональность почты), в котором есть куча разных разделов с разными статьями в каждом разделе. Каждая статья разработана с собственной структурой html, некоторые из них имеют таблицы, divs, раскраску шрифтов и т. Д., Поэтому сохранение этих статей в виде текста в базе данных не имеет смысла. Однако также не имело смысла иметь полностью отдельный html-файл для каждой статьи в каждом разделе, когда родительский элемент is'r будет иметь одну и ту же общую структуру (что я имею в виду под этим, это каждый раздел на сайт, например, или публикации, будут иметь собственный уникальный макет, однако каждая статья, относящаяся к данному разделу, будет помещена в тот же div, что и их дочерние статьи.Неправильно ли использовать частичные части таким образом?

У меня возникла идея. Я думал, что буду использовать частичные части для рендеринга уникального контента в том же макете для каждого раздела (помните, что в базе данных нет ничего в настоящее время.) Поэтому я подумываю о том, чтобы настроить сайт на разные папки просмотра для разделов, и внутри каждой из этих папок просмотра у меня будет другая папка под названием «content», в которой я положу конкретный html для заданного маршрута.

Например, один из моих «о» маршрутов выглядит следующим образом

get 'about/:pagename', to: 'about#show' 

который посылает параметр: Pagename к контроллеру для метода шоу, в какой момент я захватить этот параметр в переменную (в файл about_controller.rb)

def show 
     @content = params[:pagename].downcase 
    end 

И тогда вид show.html.erb оказывает частичное с тем же именем, что и переменная @content.

<div><%= render partial: "about/content/#{@content}" %></div> 

На данный момент, вид выглядит внутри папки контента для конкретного частичного она вызывается, и делает, что HTML.

Мой вопрос ... Является ли это нетрадиционным? Я уверен, что знаю ответ на этот вопрос ... что да. Итак, мой следующий вопрос: насколько это плохо? Есть ли какие-то огромные проблемы с разрушением сайта, это может привести к тому, что я не могу увидеть, как работает мой ограниченный рельс? Есть ли гораздо более простой, гораздо более традиционный метод для отображения содержимого, которое я упустил?

ответ

0

Это довольно интересный способ сделать это, но то, что вы описываете, в значительной степени является CMS, и там уже есть quite a few, что было бы хорошо для вас.

Off верхней части моей головы два популярных из них являются Locomotive CMS и Radiant CMS

Нет необходимости изобретать колесо! Они также поддерживают статические страницы.

+0

Я изучил это ... Но из моего опыта работы с CMS (в основном Wordpress) они ограничивают ваш контроль над дизайном вашего сайта, а также JavaScript и анимацию на сайте. Является ли это общим для всех CMS или просто Wordpress? –

+0

Даже Wordpress ограничивает вас таким образом, поскольку вы всегда можете писать свои собственные темы. Единственное, что CMS ограничило бы вас тем, как данные сохраняются на сервере. Тем не менее, Локомотив - это ПУТЬ более настраиваемый, чем Wordpress – Mario

+0

Правда. Но, по крайней мере, с Wordpress кажется, что это потребует изучения совершенно нового языка, с которым у меня не было опыта (php), однако похоже, что и сияющий, и локомотив написаны в Ruby on Rails, поэтому я обязательно их опробовать! –

Смежные вопросы