Rails || = para strings vazias

Oct 27 2020

O código a seguir não mudará a variável:

@my_var = ''
@my_var ||= 'This is a non-empty string'

Existe alguma maneira legal / limpa de fazer isso para que strings vazias sejam sobrescritas?

Respostas

6 PalashBera Oct 27 2020 at 12:15

você pode tentar assim:

@my_var = ''
@my_var = @my_var.presence || 'This is a non-empty string'

Obrigado :-)

1 OliverGaida Oct 27 2020 at 12:45

neste caso, eu verificaria apenas o comprimento desta string:

@my_var = ''
@my_var = 'This is a non-empty string' if @my_var.length == 0
=> "This is a non-empty string"