Нужна некоторая информация о том, как построить крупномасштабную систему замены текста - PullRequest
0 голосов
/ 09 ноября 2009

Приложение My Rails много работает с данными сторонних API (в частности, UPS, FedEx, DHL и т. Д.).

Что бы я хотел сделать, чтобы каждый раз, когда поступали эти данные, заменять определенные фразы настроенными фразами.

Пример: "На транспортном средстве FedEx для доставки" (которое мы получаем из API FedEx), я хотел бы заменить на "Out for Delivery."

Лучше ли заменить текст по пути в базу данных? Или на выходе? (Разговор с точки зрения скорости конечного пользователя)

Я планирую сохранить эти фразы в нашей базе данных, поэтому я предполагаю, что я просто создаю помощник, который извлекает фразы, которые я хочу заменить, а затем пропускаю строки через те, которые используют gsub, и заменяю при необходимости? 1009 *

Любые советы по повышению эффективности и простоты управления были бы полезны.

Ответы [ 2 ]

1 голос
/ 09 ноября 2009

Для скорости вы должны заменить фразы, когда они входят в базу данных. Если вы делаете это на выходе, вам придется делать это каждый раз, когда пользователь запрашивает данные. Совершенно очевидно, что выполнение этого каждый раз будет увеличивать нагрузку на сервер.

Однако вы можете сохранить исходные фразы на тот случай, если вы захотите изменить формулировку фраз, которыми вы заменяете.

0 голосов
/ 09 ноября 2009

Просто случайная идея, которая может быть неприменима в зависимости от того, как ваши данные, но, возможно, вы могли бы использовать для этого интегрированную в Rails инфраструктуру i18n. Исходный текст можно рассматривать как отдельный язык, называемый vendorspeak: -).

...