我的一个控制器中有before_filter
:
def valid_people
person_ids = params[:project][:person_ids]
if person_ids.present?
person = current_user.people.where("id IN (?)", person_ids).to_a
redirect_to(root_path) unless person
end
end
第4行检查ids
数组中的所有person_ids
是否都包含在用户的people
中。
但是,如果情况并非如此,则会抛出错误。
如何让第4行返回nil
?
感谢您的帮助。
答案 0 :(得分:1)
检查present?
或blank?
。这也处理空数组:
redirect_to(root_path) if person.blank?
顺便说一句:变量person
应该重命名为people
,因为它为不仅仅是一个人的人返回一个数组。