Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
kb
@theblock24block
会员
第 17727 位会员 / 2015-03-21

london
0 篇帖子 / 169 条回帖
8 关注者
1 正在关注
55 收藏
未设置 GitHub 信息。
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • 丢失的 Ruby 语言参考,英文版 at 2018年05月06日

    不容错过

  • [广州 深圳 贵阳] 搜床科技招聘 4 名中高级 Ruby 工程师 10-30K at 2018年04月26日

    你在这工作过?

  • 有关 has_one 的一个问题 at 2018年04月22日

    这样吧

    SecondReview.new(user: user).save!
    

    但难免团队里有人用回你说的那种,然后就悲剧了

  • 有关 has_one 的一个问题 at 2018年04月22日

    create_second_review!是先 save(因为你加了 validate,会 save 不了),然后再替换(删除原关联)

    而build_second_review.save!是先替换(在 build 这一步),然后再 save(在save!这一步)

    源码分别是 activerecord-5.1.2/lib/active_record/associations/has_one_association.rb 里的_create_record和build

  • 为什么每次调用 Shell 命令的时候,method_missing 都会被调用到? at 2018年04月01日

    改成这样试试

    def method_missing(method, *args)
      puts caller
      puts "----method_missing called: #{self}, #{self.class}, #{method}"
      super
    end
    
    puts `ls`
    

    结合之前@hooopo的实验:http://hooopo.iteye.com/blog/370726

    (TOPLEVEL_BINDING 的方法会定义成 Object 的 private instance method)

    猜测,反引号内会调用 to_ary 方法,但执行 shell 命令返回的内容被包装成 String 是没有 to_ary 方法的,原本方法查找会一直去到最顶层,但你在 Object 上定义了 method_missing,所以会输出你的调试信息,然后才 super 给往上一层,而最顶层发现调用栈有执行 shell 命令的操作(试了下 system,也会出现调试信息),会忽略报错

  • 为什么每次调用 Shell 命令的时候,method_missing 都会被调用到? at 2018年04月01日

    把代码贴上来啊

  • 让我们使用 Ruby on Rails 构建:博客和评论 at 2018年03月28日

    为什么好像搞成反色了

  • 将报文送到接口时一直提示字段为空,但是输入时有报文都有值,报文从接口中解析出来时就报错。 at 2018年03月28日

    接口的后端需要你传 resource_list,用来 insert table,虽然你传了,但可能格式不对吧,总之后端不认,拼接 sql 时没带上 resource_list 这个字段,而该字段是 not null 的,于是返回错误信息告诉你没有 default value 什么的,但它返回的不是 json 而是 html,于是解析出错

  • 有没有办法跳过 add_index 的 unique 验证 at 2018年03月19日

    好奇为什么要修改 200 多个文件

  • 用 js 遍历数组,然后调用 python 脚本处理数组元素,但得到的结果却是乱序的 at 2018年02月26日

    1.哪里乱序了?

    2.改成'python py_test.py "'+value+'" '试试

  • 萌新问题,关于 ActiveRecord at 2018年01月31日

    没看出你这有必要赋值到 nodes 上

  • Rack::Request 与 ActionDispatch::Request 之间有什么联系吗? at 2017年12月27日

    都是把 env 包装一下,但 ActionDispatch::Request 会方便一点不用写 HTTP_

    # Converts an HTTP header name to an environment variable name if it is
    # not contained within the headers hash.
    def env_name(key)
      key = key.to_s
      if key =~ HTTP_HEADER
        key = key.upcase.tr("-", "_")
        key = "HTTP_" + key unless CGI_VARIABLES.include?(key)
      end
      key
    end
    
    ENV_METHODS.each do |env|
      class_eval <<-METHOD, __FILE__, __LINE__ + 1
        def #{env.sub(/^HTTP_/n, '').downcase}  # def accept_charset
          get_header "#{env}".freeze            #   get_header "HTTP_ACCEPT_CHARSET".freeze
        end                                     # end
      METHOD
    end
    

    此外 rails 还会 mixin 其它一些便利东西,所以需要一个新的类来代表 request

  • 如何用 pry 修改运行之前的代码块 at 2017年11月05日

    在其它文本编辑器写好了再贴过去……

  • 我一直觉得 Sunspot#search 的 DSL 很酷,但是以我现在的能力实在是看不懂怎么实现,有没有高人来研究一下 at 2017年10月31日

    跟 rails 的 route 差不多,试着撸一个简陋的:

    module Search
    
       def self.ing &blk
         Root.new.tap do |r|
           r.instance_eval(&blk)
           puts r
         end
       end
    
      def children
        @chidlren ||= []
      end
    
      def with condition, value
        children << With.new(condition, value)
      end
    
      def without condition, value
        children << Without.new(condition, value)
      end
    
      def any_of &blk
        a = Any.new
        a.instance_eval &blk
        children << a
      end
    
      def all_of &blk
        a = All.new
        a.instance_eval &blk
        children << a
      end
    
      def children_to_s
        children.map &:to_s
      end
    
      class Root
        include Search
        def to_s
          children.first.to_s
        end
      end
    
      class Any
        include Search
        def to_s
          '(' + children_to_s.join(' or ') + ')'
        end
      end
    
      class All
        include Search
        def to_s
          '(' + children_to_s.join(' and ') + ')'
        end
      end
    
      class With
        def initialize cond, v
          @cond, @v = cond, v
        end
    
        def to_s
          "#{@cond} = #{@v}"
        end
      end
    
      class Without
        def initialize cond, v
          @cond, @v = cond, v
        end
    
        def to_s
          "#{@cond} != #{@v}"
        end
      end
    end
    
    Search.ing do
      any_of do
        with :col1, 1
        with :col2, 2
        all_of do
          with :col3, 3
          without :col4, 4
        end
      end
    end
    
    # output
    # (col1 = 1 or col2 = 2 or (col3 = 3 and col4 != 4))
    
  • warning: already initialized constant Bootstrap::VERSION at 2017年09月07日

    namespace 冲突啊,都是 module Bootstrap

    看 readme 开头:

    Bootstrap 4 ruby gem for Ruby on Rails (Sprockets) and Compass. For Sass versions of Bootstrap 3 and 2 see bootstrap-sass instead.

    其实看你要哪个版本的 bootstrap 就好了,不需要两个都加

  • rails db:migrate 用于调用所有未运行的迁移中的 chagne 或 up 方法,那么其中的 down 不会运行吗? at 2017年08月30日
    1. rails db:rollback 会调用 down,或者 change 中的反义操作(如果有对应的反义操作)

    2. 若 up 中 add_column,down 中 remove_column,那么调完 up 再调 down(migrate 然后 rollback),结果就相当于没加过 column

    感觉你没跟着做一遍

  • 健壮参数的写法 at 2017年08月06日

    active_support 有给 Hash 补上一个叫 except 的方法

    但是你无法预估前端会传来什么破坏性的参数,所以反选是不健壮的

  • Ruby 重命名文件权限报错 at 2017年08月03日

    1、改文件名须有该文件所在目录的 w 权限

    2、从你报错信息看,连。和..都读出来了

    3、理论上 filename,newfile 需带上目录名"生命"

  • Ruby 作用域问题,应该如何访问域外的实例方法 at 2017年07月22日

    LZ 似乎没搞懂运行时 self 的指向、类与实例的区别、继承链,这三个问题

  • 漫谈 Kernel at 2017年06月26日

    用 raise 来调试?

  • 联表查询写法的疑问 at 2017年06月23日
    top10 = Post.group(:channel_id).order('count(*) desc').limit(10).count
    Channel.find top10.keys
    
  • GO 里面的 interface 有点难理解啊,假如用 ruby 来诠释一下,相当于什么概念 at 2017年06月23日

    这个特性比较像 java 那套,编译时检查类型,不能按 ruby 运行时的去理解

  • Activerecord 怎么实现 left join 的 on 后面加更多条件? at 2017年06月11日

    ON clause 用来定 join condition,WHERE clause 用来定 filter condition,这才是正确的,你为什么要把 filter 写在 ON 里呢

  • Activerecord 怎么实现 left join 的 on 后面加更多条件? at 2017年06月11日
    scope :with_cars, -> (**opt) { eager_load(:cars).where(cars: opt) }
    

    使用:

    Maker.with_cars company_id: [1,2,3], status: ['ok']
    
  • 一年 Rails 开发经验应该是什么样的水平? at 2017年06月04日

    JD 是啥

  • 申请删帖 at 2017年06月04日

    楼主拿 js 跟 ruby 比语法,输定了……

  • 妹子求问:可以一起玩 ROR 吗? at 2017年05月30日

    没有逻辑。叫人学 MEAN 也是先说 js,但讲到 ROR 却不提 ruby,还怪人家黑箱

  • [求助] 怎么用 Rails 写出选择题的试卷,Multiple choice quiz at 2017年05月27日

    四个表

    Question.has_many :options
    Option.belongs_to :question
    Option.has_many :users, through :answers
    User.has_many :options, througn :answers
    
  • 全栈笔记:每天推荐几篇优质的全栈开发文章 (以及我对全栈的看法) at 2017年05月12日

    其实我觉得现在看上去还可以啦(可能是我功力不足)

  • 求一个 Rails 方式查询数据! at 2017年05月12日

    main 和 combine 放在一个表里,用 AR 风格的话还要考虑别名的转换,太蛋疼了

    追求风格的话应该从表结构、model 结构开始,不然真的很别扭……当然,我不知道你表结构是否真的有必要定成这样,以及改起来是否很大风险……

  • 上一页
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 下一页
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English