#ruby-on-rails #reactjs #ruby #activerecord
Вопрос:
Я работаю над приложением Ruby on Rails с интерфейсом React.
В настоящее время у меня есть константы, которые необходимы как на бэкэнде, так и на интерфейсе. Чтобы они не расходились и могли управляться в одном месте, мы храним их в наших config/initializer
файлах на серверной части. У нас есть ConstantsController
приложение, которое обслуживает их на интерфейсе.
До сих пор это было здорово, но теперь некоторые константы устарели. Например, для color
константы у нас больше нет доступных цветов, и мы не хотим показывать их на интерфейсе. Однако, если мы изменим константы(удалив неиспользуемые), мы нарушим некоторые проверки.
Прямо сейчас я могу думать только о Active
наборе констант, которые отправляются на интерфейс, который является подмножеством Full
набора констант. В противном случае я представляю, как определяю константы в таблице с отключенным полем и создаю модель для каждой константы. На интерфейсе мы бы отображали только active
константы в этом случае
Комментарии:
1. Неясно, в чем заключается вопрос. Нет единственного «правильного» способа-и если «старое» значение может быть отправлено обратно с внешнего интерфейса (например, во время процесса редактирования) без исправления до значения «ок», у вас все равно будут ошибки проверки, что означает, что потребуется выполнить какую-то работу по заполнению/исправлению. Что имеет наибольший смысл, так это зависимость от контекста.
2. Можете ли вы объяснить, что вы подразумеваете под «мы исправим некоторые ошибки проверки»?
3. Я бы, вероятно, попытался найти другие слова для того, что вы пытаетесь сделать — «глобальный» и «постоянный» имеют некоторые очень специфические значения в программировании. Если вы перефразируете его, например, как «Общие настройки приложения, используемые на передней и задней панели», это значительно упростит обсуждение различных возможных решений, которые могут быть любыми из файла YAML/JSON, одной или двух таблиц базы данных или чего-то вроде memcached.
4. И, как указал @DaveNewton, на самом деле нет «правильного» способа обработки конфигурации, и этот вопрос может быть закрыт, поскольку он в основном основан на мнении. Возможно, вы захотите изучить, как разные разработчики подошли к проблеме, и, возможно, задать вопрос на форуме, например reddit.com/r/rubyonrails который открыт для обсуждения.
Ответ №1:
Я понимаю, что все, что я называю константой, не является константой, если оно меняется. Вместо этого они должны обрабатываться как настройки/типы/версии, которые хранятся в таблицах