Rails: логика настроек доступна пользователям?

В моем приложении настроено Settingslogic, которое мне нравится. Мой вопрос: как создать страницу в моем приложении Rails, где администраторы могут вносить изменения в настройки, указанные в config/settings.yml??

Я предполагаю, что указанная страница должна будет прочитать и отобразить соответствующие поля формы для всех значений в файле YAML, а затем сохранить эти значения обратно в config/settings.yml? Вступят ли эти настройки в силу немедленно или потребуется перезапуск сервера?

Немного потерял здесь. Спасибо.

Связано: Настройки приложения Rails?


person neezer    schedule 26.05.2010    source источник


Ответы (2)


Я не мог этого понять, поэтому переключился с Settingslogic на rails-settings, что позволяет мне одинаково легко хранить настройки в базе данных, что значительно упрощает мне настройку редактирования конечным пользователем.

Если кто-нибудь выяснит это с помощью Settingslogic, я бы очень хотел услышать решение!

person neezer    schedule 26.05.2010

Я думаю, вы были на правильном пути. Что бы я сделал, так это создал бы некую фальшивую модель, используя ActiveModel, которая позволила бы вам создать простую форму для изменения каждой отдельной настройки. После отправки формы просто напишите в исходный файл settingslogic, вызвав .to_yaml для возвращаемого объекта.

Наконец, чтобы перезагрузить настройки, вы можете вызвать Settings.reload! без перезапуска всего приложения.

Я понимаю, что это произошло уже после того, как вы задали свой вопрос, но подумал, что дам ответ на случай, если другие тоже наткнутся на него.

person stevenhaddox    schedule 25.08.2011