2017-05-22 55 views
2

我有這樣的方法如何確定的ActiveRecord類型::關係

def get_list(limit = nil, page = nil) 
    coll = all 
    coll = (block_given?) ? (yield coll) : coll 
    rowcnt = coll.count 
    pages = (limit && limit > 0) ? (rowcnt.to_f/limit).ceil : 1 
    coll = coll.limit(limit) if limit && limit > 0 
    coll = coll.offset((page-1)*limit) if limit && limit > 0 && page && page > 1 
    ret = { rows: coll.all.to_a, rowcnt: rowcnt, page: page || 1, pages: pages, limit: limit || 0 } 
    def ret.serialize(include = nil) 
    self[:rows].collect! do |row| 
     hash = include ? (row.serializable_hash(include: include.incllist)) : row.serializable_hash 
     (hash['code'] && hash['code'].end_with?('(TR)')) ? nil : ((block_given?) ? yield(hash,row) : hash) 

    end 
    self[:rows].compact! 
    return self.rest_success,true,self 
    end 
    return ret 
end 

,我正與

Unit.get_list() do |q| 
# some logic 
end 

如何確定的collget_list()類型打電話?

coll.instance_of?(Unit)coll.is_a?(Unit)嘗試以及與self.instance_of?(Unit)self.is_a?(Unit)但他們都返回false

+0

你嘗試'coll.klass == Unit'? –

+0

@ Md.FhanhanMemon好的,這工作,謝謝。也許你想發佈這個答案。 – RagnarLothbrok

回答

3

你可以做到以下幾點,

coll.klass == Unit 
#OR 
coll.method == Unit 
相關問題