Архивирование всего сайта 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.
Почему бы просто не удалить права на создание, вставку и удаление пользователя базы данных?
Если представления не являются общими для редактирования и просмотра данных, вы можете разделить их с помощью разных контроллеров, один для простого просмотра, другой для операций CRUD. Тогда нужно включить и отключить второй, возможно, используя маршрутизацию.
Это зависит от того, насколько сложны ассоциации в вашей базе данных. Если это очень просто, вы можете написать простой php-сайт, который показывает только содержимое вашей базы данных (или, может быть, есть что-то, что делает это). Это самое дешевое решение (с помощью ресурсов памяти и процессора), но для достижения этой цели может потребоваться некоторая работа.
Если вы не хотите работать над своим приложением, возможно, самый быстрый способ (в зависимости от вашего времени) - использовать подход @szeryf. Просто добавьте во все маршруты :only => [:show, :index]
,