Архивирование всего сайта Rails

У меня есть сайт Ruby on Rails, который был нужен только в течение короткого периода времени, в течение которого пользователи добавляли различные объекты в базу данных MySQL, комментировали их, ассоциировали себя с ними и т. Д. И т. Д. И т. Д. И т. Д.

Вопрос заключается в следующем: сайт больше не нужен до следующей недели, когда я очищу базу данных и снова ее использую (начиная с нуля). Каков наилучший способ архивирования текущего сайта, чтобы существующий контент все еще можно было просмотреть, но новый контент не может быть добавлен? Лучше всего я имею в виду метод, при котором будет использоваться наименьшее количество системных ресурсов, сервер будет самым безопасным и т. Д.

Какие-либо предложения?

5 ответов

Решение

If you wrote the app in the standard way, ie all the modifications are done via create, update или же destroy actions in your controllers, add a before_filter на ваш ApplicationController that will prohibit accessing those methods (and probably new а также edit, тоже).

Вы также можете проверить свои routes.rb to see if you don't have any other actions that modify your resources and add them to your filter too.

Используйте веб-сканер и оставьте его как статический HTML.

Почему бы просто не удалить права на создание, вставку и удаление пользователя базы данных?

Если представления не являются общими для редактирования и просмотра данных, вы можете разделить их с помощью разных контроллеров, один для простого просмотра, другой для операций CRUD. Тогда нужно включить и отключить второй, возможно, используя маршрутизацию.

Это зависит от того, насколько сложны ассоциации в вашей базе данных. Если это очень просто, вы можете написать простой php-сайт, который показывает только содержимое вашей базы данных (или, может быть, есть что-то, что делает это). Это самое дешевое решение (с помощью ресурсов памяти и процессора), но для достижения этой цели может потребоваться некоторая работа.

Если вы не хотите работать над своим приложением, возможно, самый быстрый способ (в зависимости от вашего времени) - использовать подход @szeryf. Просто добавьте во все маршруты :only => [:show, :index],

Другие вопросы по тегам