Rails, как редактировать и сохранять файлы в браузере? - PullRequest
2 голосов
/ 18 апреля 2011

Я хочу создать CMS, в которой я могу редактировать файлы view и css онлайн в своем браузере.Как это можно сделать?Все ли должно быть в базе данных?

1 Ответ

3 голосов
/ 18 апреля 2011

Обычно переполнение стека не для исследований, а для решения проблем. Тем не менее ...

  1. Нет, ваши редактируемые активы не обязательно должны быть в базе данных, чтобы это работало.
  2. Но вы хотите, чтобы они были в любом случае; предоставление доступа на запись к файлам в вашем приложении - не лучший подход.
  3. Цепочка рендеринга Rails 3 позволяет вам использовать собственный парсер представлений и добавить путь к встроенному поиску представлений, который вы можете сравнительно легко обмануть при загрузке из базы данных.
  4. Если ваши конечные пользователи напишут что-то вроде жидких шаблонов, это сэкономит вам много работы и позволит сделать это сравнительно легко. У них не будет доступа к небезопасным методам Ruby, и вам не придется проходить всю работу по их песочнице в Ruby.
  5. CSS имеет меньше последствий для безопасности, поэтому вы можете довольно легко сохранить необработанный CSS в базе данных и позволить своим пользователям редактировать его по своему вкусу, а затем подавать его с запросом к таблице стилей /: user_id / style.css request ( с некоторым тяжелым кэшированием, как с Varnish, чтобы уберечь ваше приложение от убийства).

Надеюсь, это поможет вам начать в правильном направлении. Если вы решите подключиться к стеку рендеринга в Rails, я настоятельно рекомендую вам взять копию Crafting Rails Applications - одно из нескольких примеров приложений, через которые он вас проводит, делает это на достаточно детальном уровне.

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