У меня есть конечная точка API ниже, написанная в grape, которая принимает параметр, закодированный в базе 64, который должен быть загружен в S3 с помощью active_storage. Я также использую гем active-storage-base64, который обеспечивает поддержку вложений base64 внутри активного хранилища.
post 'create_new_order_for_user' do
p "inside create new order"
app = authorize_application(declared(params)[:app_id], declared(params)[:app_secret])
if app == 404
{ status: false, message: "App does not exist"}
else
parsed_params = declared(params, include_missing: false)
p "params is #{parsed_params}"
order = current_user.orders.create(parsed_params.except(:app_id, :app_secret))
p "order is #{order}"
order.avatar.attach(data: params[:avatar])
p order.avatar.service_url.split('?').first
if order.save && order.avatar.attached?
data = {
status: true,
message: "Created New Order Successfully!",
data: order.order_data
}
else
data = { status: false, message: order.errors.full_messages.join(','), errors: order.errors.messages }
end
data
end
end
Параметры, отправленные из внешнего интерфейса, показаны ниже:
Однако, когда я пытаюсь прикрепить изображение к порядку, я продолжаю получать эту ошибку, показанную ниже:
ActiveSupport :: MessageVerifier :: InvalidSignature (ActiveSupport :: MessageVerifier :: InvalidSignature):
Как я могу преодолеть эту ошибку? Любая помощь по этому поводу, пожалуйста?