Мы давно используем виноград.
Ниже показано, как мы устанавливаем значения для параметра.
params do
optional :my_column1, type: Integer, desc: 'some description', values: MyModel1.all.pluck(:id)
optional :my_column2, type: Integer, desc: 'some description', values: MyModel2.all.pluck(:id)
end
Наша база данных разделена между двумя службами. Два вышеупомянутых столбца (my_column1 и my_column2) обновляются другим микросервисом. И когда кто-то делает запрос с использованием API, он завершается с сообщением об ошибке «my_column1 не имеет допустимого значения». То же самое касается my_column2.
Во время отладки я понял, что во время загрузки приложения rails эти значения устанавливаются и обновляются только при следующей перезагрузке сервера.
Мы хотим, чтобы эти значения обновлялись динамически. Это означает, что каждый раз, когда мы делаем запрос, он должен сделать запрос к базе данных и установить эти значения. Мне очень трудно понять, как это сделать, или даже если это возможно с Grape.
Любая помощь будет оценена.