Como usar a instrução ‘case’ para o valor enum do rails.
Quando você deseja executar métodos diferentes baseados no valor de enum, você pode usar a instrução case when em vez de escrever várias instruções if else. Abaixo um exemplo simples.
Classe modelo
class Lookup < ActiveRecord::Base
enum status: { :new, :in_progress, :completed }
end
Caso quando declaração
case lookup_instance[:state]
when Lookup.states[:new]
...
when Lookup.states[:in_progress]
...
when Lookup.states[:completed]
...
end
Referência:
ActiveRecord :: Enum