Я подумал, что было бы неплохо заполнить поле статуса в таблице activeRecord, используя константы. Однако, когда дело доходит до проверки того, имеет ли этот статус определенный статус, у меня возникают проблемы.
Если я сделаю следующее,
e = Mytable.new
e.status = :cancelled
e.save
затем переделайте запись и попробуйте сравнить мой статус с символом, проверка завершится с ошибкой. У меня есть выход из консоли, чтобы показать это.
irb(main):060:0> e.status.eql?("cancelled")
=> true
irb(main):061:0> e.status.eql?(:cancelled)
=> false
irb(main):062:0> e.status == :cancelled
=> false
irb(main):063:0> e.status == "cancelled"
=> true
irb(main):064:0> e.status == :cancelled.to_s
=> true
Есть ли лучший способ сохранить статус в записи? Есть ли способ тестирования, если текущее значение поля равно символу: без преобразования символа: в строку? Я думаю, что может быть оператор, о котором я не знаю.