2013-05-21 10 views
10

私は自分のRailsアプリで以下の行を持っている:product.secondary_images @その中のコンテンツを持っている場合未定義メソッド `split 'をnilに修正するには:NilClassエラー?

@images = @product.secondary_images.split(",") 

、これは正常に動作します。しかし、コンテンツがない場合は、次のエラーが表示されます。

undefined method `split' for nil:NilClass 

@imagesにコンテンツがない場合、別の値を割り当てるにはどうすればよいですか?

答えて

15

を使用することができます。 OR演算子を使用して別のものを割り当てます。

@images = @product.secondary_images.try(:split, ",") || 'some other value' 
0

あなたは、可能な解決策は、あなたの方法をsecondary_imagesに送信することができない場合にはnilを返していtryを使用することですtry方法

nil.try(:split, ",") 
0

一般的に主観的な答えが、私は1行ですべてを望んでいた場合、私はおそらく、この方法を自分でそれを処理したい:

@images = @product.secondary_images.nil? ? 'another value' : @product.secondary_images.split(',') 
関連する問題