• instance_methods 这个很妙啊,我完全想多了😅

  • 本来也就是好玩,整天写的都是公司用的业务代码,很 KUSO,偶尔也玩玩。

  • 实现不是难在祖先连关系上,是 Proc 中的众多 def ... end 怎么一个个拿出来加工,目前是转成字符串,做一些文字处理取出来。。

  • 纯兴趣,我感觉要是 block 里面的东西能有个比较好的解析方法,能实现好多有趣的东西

  • 这种写法不行哦,这个方法返回 false 了,然而不影响 save

  • class Aaa
      before_save :check_num
    
      def check_num
        errors.add(:id, '不能保存就对了')
      end
    end
    
    Aaa.new.save
    => true
    
  • relation.rb

    class Relation
      delegate :to_xml, :to_yaml, :length, :collect, :map, :each, :all?, :include?, :to_ary, :join, to: :to_a
    
      def initialize options = {}
        raise 'class is not initialize' if options[:model].blank?
        @class_name = options[:model]
        @where = options[:where] || []
        @limit = options[:limit] || []
        @order = options[:order] || []
        @page  = options[:page] || []
        @per_page = []
        @records = []
      end
    
      def inspect
        to_a
        "#<#{self.class}: records: #{self.instance_variable_get(:@records)} attrs: #{self.instance_values}>"
      end
    
      %w/where limit order page per_page/.each do |m|
        define_method m do |args=nil|
          self.instance_variable_get("@#{m}".to_sym) << args if args.present?
          self
        end
      end
    
      def to_a
        load_records
        @records
      end
    
      def load_records
    
        #查询集中在这里
        @records = ['a', 'b', 'c']
      end
    end
    
    

    cat.rb

    class Cat
      delegate :select, :group, :order, :reorder, :limit, :joins, :where, :preload, :eager_load, :includes, :from, :lock, :readonly, :having, :create_with, to: :scoped
    
      def scoped
        @model ||= self.class.const_set 'Relation', Class.new(Relation)
        @model.new(model: self.class)
      end
    
    end
    

    subcat.rb

    class SubCat < Cat
    end
    
     c = SubCat.new
    #<SubCat:0x007fe078c21658>
    
    c.where.class
    SubCat::Relation
    
    c.where('1=1').order('test asc').limit(1)
    #<SubCat::Relation: records: ["a", "b", "c"] attrs: {"class_name"=>SubCat, "where"=>["1=1"], "limit"=>[1], "order"=>["test asc"], "page"=>[], "per_page"=>[], "records"=>["a", "b", "c"]}>
    
    c.where('1=1').order('test asc').limit(1).each{|c| p c }
    "a"
    "b"
    "c"
    ["a", "b", "c"]
    
  • 能用 markdown?

  • 这个真的难着我了!!! at 2017年03月10日

    像这种我一般复制黏贴到控制台去处理

  • ActiveRecord Enum 实战总结 at 2017年03月09日

    一直用的 gem 'enumerize' 原来 rails 自己就带了这个功能了,刚知道

  • 多谢,涨知识了

  • 我想问下 generated_association_methods 这个方法返回的是什么?我 puts 了一下返回的还是 model 啊,方法是怎么绑到 GeneratedAssociationMethods 这个变量上的

  • 一直被控制台输出骗了,原来我理解的没错哈哈。。

  • 原来亮点就在于 def inspect to_a.inspect end 我感觉我离真相越来越近了

  • 你的意思是 limit(10) 的时候没有去数据库取数据吗?

  • 我把 mysql 服务关了,limit(10) 会报错的啊

  • 求推荐机械键盘 at 2017年03月07日

    hhkb pro2 用过让你不想用机械键盘

  • 多谢!

  • 我想模仿 AR 的那种可以链式使用,而且是惰性的,调用的时候才去查询的思路,写一些东西,比如吧 solr 当做数据库,或者跨项目查询之类的,但是想不出怎么才能实现

  • 主要是客户端是纯 h5 + js,里面有个分享功能,假如把链接直接暴露在外面,没多久就给别人爬光了,有没有 js 和 ruby 之间能互相正反解得加密方式

  • #3 楼 @huacnlee 好像是 sierra 的问题

  • #3 楼 @huacnlee echo 有的,env 里面没有

  • #1 楼 @huacnlee ORACLE_HOME 一样写的,就有用

  • #1 楼 @huacnlee 做了,你可以试一下,无论怎么改都不生效的,重启也试过了

  • https://github.com/ngty/sourcify 我倒是找到一个 gem

  • 求一个正则表达式 at 2016年03月24日

    #15 楼 @__main__ 兄弟啊,有啥优化的方法吗,这个正则替换这个正文实在是太慢了

  • 求一个正则表达式 at 2016年03月22日

    #13 楼 @__main__


    = "$2" '>随便内容 这段是干嘛的?我没加这个,会不会是因为这个慢
  • 求一个正则表达式 at 2016年03月22日

    #10 楼 @__main__ 哥,我这边有一些内容用了这个正则之后得花好长时间才能出来,比如说这个

    "

    \r\n标段信息\r\n\r\n\r\n\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t<!-- \t \t \t -->\r\n\t\t\r\n\t\r\n
    标段编号 标段名称采购方式 预算金额 (元)投标供应商名称排名评分
    \r\n\r\n\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t<!-- \t\t\t\t \t\t\t\t\t\t \t\t\t\t\t\t \t\t -->\r\n\t\t\r\n\t\r\n
    1原长沙铬盐厂止水帷幕二期项目工程地质勘查竞争性谈判911093.93湖南核工业岩土工程勘察设计研究院,,1,2,3,,
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n

    长沙市铬污染物治理有限公司原长沙铬盐厂铬污染土壤修复项目前期工程地下水污染防治加固工程(止水帷幕二期)工程地质勘察结果公告

    \r\n\r\n

    长沙市铬污染物治理有限公司的原长沙铬盐厂铬污染土壤修复项目前期工程地下水污染防治加固工程(止水帷幕二期)工程地质勘察竞争性谈判采购项目于束,现将成交结果公告如下。

    \r\n\r\n

     

    \r\n\r\n

    一、项目名称

    \r\n\r\n

     

    \r\n\r\n

    采购项目名称:长沙市铬污染物治理有限公司原长沙铬盐厂铬污染土壤修复项目前期工程地下水污染防治加固工程(止水帷幕二期)工程地质勘察

    \r\n\r\n

    预算金额 (元):911093.93

    \r\n\r\n

    二、项目编号

    \r\n\r\n

     

    \r\n\r\n

    政府采购编号: CSCG-201601140001

    \r\n\r\n

    委托代理编号:HNZT-2016ZF017

    \r\n<!--

    招标公告日期:2016-01-18 12:22:03\" />

    投标截止日期:2016-01-26 14:30:10\" />

    开标日期: 2016-01-26 14:30:10\" readOnly/>

    中标日期: 2016-01-31 19:31:52\" readOnly/>

    -->\r\n\r\n

    三、邀请供应商的情况、谈判情况、成交供应商名称、地址和成交金额

    \r\n\r\n

    (一)、邀请供应商的情况

    \r\n\r\n

    1、供应商产生方式:公告邀请

    \r\n\r\n

    2、采取采购人、评审专家推荐方式的推荐意见

    \r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n
    采购人推荐意见评审专家推荐意见
    供应商名称/供应商名称/
    推荐意见/推荐意见/
    \r\n\r\n

    (二)、谈判情况

    \r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n
    序号供应商名称最终报价评审结果
    1湖南核工业岩土工程勘察设计研究院优惠率 42%(880724.12 元)第一名
    2核工业长沙工程勘察院优惠率 41.5%(888316.57 元) 
    3湖南中核建设工程公司优惠率 41%(895909.02 元) 
    \r\n\r\n

    (三)、成交供应商名称、地址和成交金额

    \r\n\r\n

    标段 1 中标,标段名称:原长沙铬盐厂止水帷幕二期项目工程地质勘查

    \r\n\r\n

    成交供应商名称:湖南核工业岩土工程勘察设计研究院

    \r\n\r\n

    地址:长沙市

    \r\n\r\n

    成交金额 (元):880724.12

    \r\n\r\n

    备注:无

    \r\n\r\n

    四、谈判小组成员名单

    \r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n
    序号评审小组职务姓名产生方式参与过程备注
    1主任评委钟共清随机抽取全过程 
    2一般评委江西根随机抽取全过程 
    3业主评委赵欢业主指定全过程 
    \r\n\r\n

    注:产生方式注明是随机抽取或自行选定;参与过程注明是确定供应商、谈判或全过程。

    \r\n\r\n

    五、公告期限:

    \r\n\r\n

     

    \r\n\r\n

    六、参与采购活动的供应商认为成交结果使自己权益受到损害的,可以在知道或者应知其权益受到损害之日起 7 个工作日内以书面形式向采购人或采购代理机构提出质疑。

    \r\n\r\n

    七、采购人和采购代理机构名称、联系人和联系方式:

    \r\n\r\n

     

    \r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n
    采购人名称:长沙市铬污染物治理有限公司采购代理机构名称:湖南中投项目管理有限公司
    电话:89711761电话:0731-82255989
    地址:长沙市岳麓区银杉路 559 号岳银欣苑 6 栋 1404 室地址:长沙市雨花区万家丽中路一段 469 号华雅财富中心 906 室
    联系人:谭晶联系人:罗芳
    \r\n\r\n

     

    \r\n\r\n

     

    \r\n\r\n

     

    \r\n\r\n\r\n

     

    \r\n"

    有什么优化的方案吗,我只要 src 后面的和 href 后面的不被替换可以吗

  • #1 楼 @colorfulberry Cannot read file 报错