This is a common pattern: If a variable doesn’t exist I get an undefined local variable or method error.
The existing code has if variable_name.present? but this didn’t account for the variable not existing.
How can I check the value of the variable and also account for it not existing at all?
I’ve tried:
if (defined? mmm) then
if mmm.present? then
puts "true"
end
end
but Ruby still checks that inner mmm.present? and throws “no such variable” when it doesn’t exist.
I’m sure there’s a common pattern/solution to this.
Change the
present?to!= ''and use the && operator which only tries to evaluate the seond expression if the first one is true:But actually as of 2019 this is no longer needed as both the below work