Как исправить неопределенный метод "split" для nil: ошибка NilClass?
у меня есть следующая строка в моем приложении Rails:
@images = @product.secondary_images.split(",")
когда @product.secondary_images имеет контент в нем, это работает нормально. Однако, когда нет контента, я получаю эту ошибку:
undefined method `split' for nil:NilClass
Как я могу назначить другое значение @images, Если в нем нет содержимого?
4 ответов
возможным решением было бы использовать try
который возвращает nil в случае, если ваш метод не может быть отправлен в secondary_images
. А затем используйте оператор OR, чтобы назначить что-то еще.
@images = @product.secondary_images.try(:split, ",") || 'some other value'
вообще субъективный ответ, но я, вероятно, справился бы с этим сам, если бы хотел, чтобы все это было в одной строке:
@images = @product.secondary_images.nil? ? 'another value' : @product.secondary_images.split(',')