可能重复:
检查Ruby中数组中是否存在值
我有这个循环遍历字符串数组的方法,如果任何字符串包含字符串'dog',则返回true.它正在工作,但多个返回语句看起来很混乱.有没有更有说服力的方式这样做?
def has_dog?(acct)
[acct.title, acct.description, acct.tag].each do |text|
return true if text.include?("dog")
end
return false
end
Run Code Online (Sandbox Code Playgroud) repeat_purchases_percent是我的Category模型中的一个方法.保证所有无父类别都具有数据库中future_purchases_percent的值.子类别可能有也可能没有future_purchases_percent.如果他们这样做,我想使用那个价值.如果没有,我想使用父的值,依此类推.
我尝试了一种递归方法.
def future_purchases_percent
if self.future_purchases_percent.nil?
Category.find(self.parent_id).future_purchases_percent
else
future_purchases_percent
end
end
Run Code Online (Sandbox Code Playgroud)
这会陷入一个不断评估的循环中:
if self.future_purchases_percent.nil?
Run Code Online (Sandbox Code Playgroud)
我怎样才能正确实现这个方法?