如何修复未定义的方法`split'为nil:NilClass错误?

sha*_*aka 11 ruby ruby-on-rails

我的Rails应用程序中有以下行:

@images = @product.secondary_images.split(",")
Run Code Online (Sandbox Code Playgroud)

当@ product.secondary_images包含内容时,运行正常.但是,当没有内容时,我收到此错误:

undefined method `split' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

如果没有内容,如何为@images分配另一个值?

pdu*_*ler 18

一个可能的解决方案是使用try哪个返回nil,以防你的方法无法发送secondary_images.然后使用OR运算符分配其他内容.

@images = @product.secondary_images.try(:split, ",") || 'some other value'  
Run Code Online (Sandbox Code Playgroud)