ActiveRecordのfindのfind_from_idsについて
あ、find_from_idsってのはUser.find(10)とかidで検索する奴ですね。
ids.size が 0の時はnilを返して欲しい。
具体的には
def find_from_ids(ids, options) expects_array = ids.first.kind_of?(Array) return ids.first if expects_array && ids.first.empty? ids = ids.flatten.compact.uniq case ids.size when 0 raise RecordNotFound, "Couldn't find #{name} without an ID" when 1 result = find_one(ids.first, options) expects_array ? [ result ] : result else find_some(ids, options) end end
を
def find_from_ids(ids, options) expects_array = ids.first.kind_of?(Array) return ids.first if expects_array && ids.first.empty? ids = ids.flatten.compact.uniq case ids.size when 0 - raise RecordNotFound, "Couldn't find #{name} without an ID" + nil when 1 result = find_one(ids.first, options) expects_array ? [ result ] : result else find_some(ids, options) end end
の方が色々楽なのに。
うーん、でも例外にしてるってのは何か意味があるんだろうなあ。
何の目的だったり理由だったりするんだろう。