Как принять точные значения с плавающей точкой - PullRequest
0 голосов
/ 19 октября 2018

Я сейчас разрабатываю оценочный класс.Этот класс имеет 4 тематических поля.Например: Техника и будет принимать только диапазон значений:

(1, 1,5, 2, 2,5, 3,0, 3,5, ... 5)

Существует способ создать проверку, гдетолько примут эти значения, кроме того, чтобы увидеть, если значение атрибута находится в массиве?

def some_name
 a_values = [1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]
 !a_values.includes?(self.technique)
end

1 Ответ

0 голосов
/ 19 октября 2018

Вы можете установить проверку включения и использовать рубиновый диапазон с шагами, чтобы сделать массив значений менее жестким https://apidock.com/rails/ActiveModel/Validations/HelperMethods/validates_inclusion_of

validates_inclusion_of :technique, in: (1..5).step(0.5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...