美文网首页
参数列表过长

参数列表过长

作者: SecondRocker | 来源:发表于2020-07-12 18:58 被阅读0次
    • 方法分割,该方法是否干了过多工作
    • 将参数封装为对象/Hash
    • 使用块
      比如查询方法,传入很多查询条件,转化为传入块,块内调用方法处理参数
    def query(name,age,gender,enter_time,leave_time,level,poisition)
      cond = {}
      cond.merge! name: name if name.present?
      cond.merge! gendar: gender if gender.present?
      ...
      Employee.where(cond)
    end
    
    # 修改为
    
    def cond(key,value)
      @cond || = {}
      @cond.merge key: value
    end
    
    def query
      yield(self) if block_given?
    end
    
    # 调用
    query do |q|
      q.cond name: name if name.present?
      q.cond age: age if age.present?
      ..
    end
    
    
    

    相关文章

      网友评论

          本文标题:参数列表过长

          本文链接:https://www.haomeiwen.com/subject/mepvactx.html