Rails アプリに次の行があります。
@images = @product.secondary_images.split(",")
@product.secondary_images にコンテンツが含まれている場合、これは正常に実行されます。ただし、コンテンツがない場合、次のエラーが発生します。
undefined method `split' for nil:NilClass
コンテンツがない場合、@images に別の値を割り当てるにはどうすればよいですか?
Rails アプリに次の行があります。
@images = @product.secondary_images.split(",")
@product.secondary_images にコンテンツが含まれている場合、これは正常に実行されます。ただし、コンテンツがない場合、次のエラーが発生します。
undefined method `split' for nil:NilClass
コンテンツがない場合、@images に別の値を割り当てるにはどうすればよいですか?
try
考えられる解決策は、メソッドを に送信できない場合に nil を返す whichを使用することsecondary_images
です。次に、OR 演算子を使用して別のものを割り当てます。
@images = @product.secondary_images.try(:split, ",") || 'some other value'
一般的に主観的な答えですが、すべてを1行にまとめたい場合は、おそらくこのように自分で処理します。
@images = @product.secondary_images.nil? ? 'another value' : @product.secondary_images.split(',')