2016-09-05 2 views
0

Какой тип данных следует использовать для поля налоговой ставки в моем приложении RoR. Я хочу, чтобы он сохранял только числа от 0 до 100 и две фиксированные строки «zw» и «np». Должен ли я использовать тип string и анализировать его на целое число, когда оно является номером?Какой тип данных используется для поля налогообложения

+1

Это звучит как две разные колонки. –

+0

@ GordonLinoff, это было бы болью для меня, чтобы написать форму. Я хочу selectbox с опциями на выбор: '' 'TAX_TYPES = [* 0..100," zw "," nw "]. Freeze''' – Volz

+0

Возьмите два столбца column1 для целых чисел и столбцов2 для строки save данные в обоих полях. создать новый метод def taxrate self.column1 + self.column2 конец taxtrate вернет вас как целыми, так и целыми –

ответ

2

Я думаю, возможно, вы должны думать о ставке налога как имя ставки, а не числовое значение.

Создать справочную таблицу налоговых ставок, что-то вроде:

create table TaxRates (
    TaxRateId int primary key, -- auto_increment/serial/identity 
    Name varchar(255) not null unique, 
    Value int, -- NULL if not appropriate 
    <more columns if necessary> 
); 

В раскрывающемся списке можно использовать эту таблицу для названий. Большинство имен будут числами, но это нормально. Фактическое числовое значение будет в поле Value (которое вы действительно можете хотеть быть десятичным).

Любая таблица, использующая ставку налога, будет иметь ссылку на внешний ключ для TaxRateId.

Смежные вопросы