База данных Rails с другой валютой / ценами - PullRequest
0 голосов
/ 08 июня 2018

В моем приложении Rails есть таблица продуктов со следующими столбцами:

table "products"
t.string   "name"
t.text     "description"
t.integer  "price"

Когда я разрабатывал приложение, оно предназначалось только для одной страны и для единой валюты.Теперь я хотел бы поддержать больше валют, основанных на географической стране, но как лучше всего это сделать с моей текущей структурой базы данных?

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

Любая рекомендация о том, как лучше это сделать?

Обновление: мы не планируем иметь болеекак 20 продуктов, и наши цены немного выше, поэтому нам не важен обменный курс, скорее, мы хотели бы иметь различные цены, основанные на том, насколько сильна экономика в определенных странах

Ответы [ 2 ]

0 голосов
/ 30 июня 2018

После моего комментария я должен использовать таблицу соединения prices между products и currencies, с has_many: through Association , как показано в документации.

Модель соединения Price имеет столбцы:

| product_id | currency_id | value |

Price Отношения:

class Price < ApplicationRecord
  belongs_to :product
  belongs_to :currency
end

Конечно, требуется модель Currency, в которой можно хранить имя, страна, символ, флаг, ...

0 голосов
/ 08 июня 2018

Попробуйте Globalize gem для контента, требующего поддержки нескольких языков / регионов / валют.https://github.com/globalize/globalize

...