我(想要)在父模型()中有一个方法groups
来检查孩子(subjects
)是否有孩子(goals
)
groups.rb
:def has_goals?
@answer = []
subjects = self.subjects
subjects.each do |subject|
if subject.try(:goals).present?
@answer << true
else
@answer << false
end
end
if @answer.include?("true")
true
else
false
end
end
我会这样使用-
if group.has_goals?
# do something
else
# do something else
end
目前,它不起作用,因为它返回false
了所有内容-无论是否subject
拥有goals
。任何想法如何使它工作?
检查是否subjects
至少有一个goal
(如果主题没有目标,subjects.goals
则应返回[]
):
def has_goals
subjects.any? { |subject| subject.goals.present? }
end
可枚举的吗?参考:http : //ruby-doc.org/core-2.0/Enumerable.html#method-i-any-3F
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句