2016-07-14 13 views
0

私はブール値を私に送信するはずのメソッドを作成します。 しかし、その中にブーリアンも送信するループがあります。 ループが時々falseを返すことがあります。私のメソッドが真実を送ってもらいたい場合があります。それは、オブジェクト全体self.versionsメソッド結果としてブール値を作る方法は?

答えて

3

eachは、それが時に呼ばれたオブジェクト、つまりselfを返す私を送る

person.update_with_former_email?("[email protected]") 

:ように私は私のメソッドを呼び出した瞬間のために

def update_with_former_email?(update_email) 
    self.versions.each do |version| 
    next if version.object.nil? 
    return true if version.object.include?(update_email) 
    end 

    return false 
end 

またはより良い使用any?代わりのeachinclude?由来の実際のブール値を返すには、あなたがreturn使用することができます

def update_with_former_email?(update_email) 
    self.versions.any? do |version| 
    version.object.present? && version.object.include?(update_email) 
    end 
end 
+1

をそれは素晴らしい作品どうもありがとうございました! – Orsay

関連する問題