Rails || = für leere Strings

Oct 27 2020

Der folgende Code ändert die Variable nicht:

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

Gibt es eine nette / saubere Möglichkeit, dies zu tun, damit leere Zeichenfolgen überschrieben werden?

Antworten

6 PalashBera Oct 27 2020 at 12:15

Sie können so versuchen:

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

Vielen Dank :-)

1 OliverGaida Oct 27 2020 at 12:45

In diesem Fall würde ich nur die Länge dieser Zeichenfolge überprüfen:

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