2016-09-14 63 views
0

我有一個類如下活動記錄對象,辦理零

class UserPerformance < ActiveRecord::Base 
    belongs_to :user 
end 

,我在我的觀點和規範使用object.user_performance.something,但如果user_performance是零它會拋出一個錯誤。處理這個問題的正確方法是什麼?

我不能在規格:... to eq(something: object.user_performance.something if object.user_performance)等,我希望得到無我每次我做object.user_performance.somethinguser_performance爲零。

回答

0

您可以使用try方法

object.user_performance.try(:something) 

如果user_performance將爲零,它將返回零:)

您也可以處理這個問題:

if object.user_performance.nil? 
    #ups error what next? 
else 
    object.user_performance.something 
end 
+0

在Ruby 2.3,你可以使用而不是安全的導航操作符:'object.user_performance&.something'。 –

相關問題