Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
mizuhashi
@mizuhashi
VIP
NO. 23529 / 2015-11-16

44 Topics / 405 Replies
18 Followers
0 Following
12 Favorites
No GitHub.
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 夭寿了,关于单表继承和多态的使用 (STI and polymorphs) at December 20, 2016

    #5 楼 @Qcoder 多态关联存基类很正常....因为 price 没有 bicycle 的知识,他只能 Car.find(1) 然后再由 Car 根据 type 初始化成 Bicycle,我觉得在有 type 字段的时候,应该能初始化出 Bicycle,sql 语句用 car 应该没啥问题

  • 夭寿了,关于单表继承和多态的使用 (STI and polymorphs) at December 20, 2016

    这个不属于 STI 吧,如果是 STI 的话你的 car 表应该有 type 列,然后初始化的时候应该就会初始化成 Bicycle

  • AR 有办法将一个查询虚拟成 has_one 关联吗?(答案是可以) at December 20, 2016

    #1 楼 @flemon1986 foreign_key 有的,例如select products.id as product_id, avg(stars) as avg_star from products join reviews,可以把 products_id 作为这个表的外键

  • Repository 模式如何处理多层关联? at December 09, 2016

    #5 楼 @emanon 并不是纠结概念,因为要做 side project,只是为了确认 repository 是无意义的,便可以从选型中去掉了,而且 lotus 这么多人捧不可能这些基础的都没考虑过啊…

    目前的状况看 lotus 划的抽象比较蠢,写法也十分繁琐,肯定不会用他了,虽然我觉得他的 container 比 rails engine 简洁很多…

  • 杭州 Ruby 就没有新人融入的机会了么? at December 09, 2016

    #12 楼 @aldrich 吞噬神明的艾尔德里奇

  • Ruby 的 pipe at December 08, 2016

    #2 楼 @tablecell 就是换了个写法的链式调用

  • Repository 模式如何处理多层关联? at December 08, 2016

    #2 楼 @xnnyygn 你这个就是普通的 service 嘛,我说放 controller 换成放 service 也一样,两者的抽象层次是等同的,问题是在这种情况下看不出 Repository 有什么意义,而且事实上也不能和别的 Repository/Service 解耦。

    测试的话,其实厂妹也可以没有数据库的时候测试啊,或者用 sqlite::memory 也行,而且 repository 现实中不见得就能多数据源,因为 join 这些操作也不是所有数据源都有实现的。

  • Ruby 的 pipe at December 08, 2016

    再来一个

    class DelayedMethod
      attr_reader :proc_chain
    
      def initialize proc
        @proc_chain = [proc]
      end
    
      def >> another
        @proc_chain.concat another.proc_chain
        self
      end
    end
    
    _ = Object.new
    class << _
      def method_missing name, *args, &block
        DelayedMethod.new(->(x){ x.send(name, *args, &block ) })
      end
    
      def log
        DelayedMethod.new(->(x){ p x })
      end
    end
    
    class Object
      def >> delayed_method
        delayed_method.proc_chain.reduce(self){|acc, x| x.(acc)}
      end
    end
    
    [1,2,3] >> _.map{|x| %w{a b c d}[x] } >> _.join >> _.capitalize >> _.log # => "Bcd"
    
  • Dave:重新思考编程 at December 06, 2016

    #9 楼 @jackalcooper 我讲模式匹配你又跟我讲 actor。。erlang 那点东西我又不是不知道,ruby 的对象和 actor 本来就是等同的抽象,ruby 的send就是 erl 的!,ruby 有私有状态,actor 的尾递归就不是私有状态了?你要不要记 pid?还有不知道你说的类变量是什么,我写 ruby 没用过类变量。

  • Dave:重新思考编程 at December 05, 2016

    #3 楼 @chenge 模式匹配是不符合 ruby 哲学的,模式匹配相当于把对象剖开,但是 OO 哲学里对象内部对于外界都是不可见的,一切操作要以消息传递实现,就像现实中你不能随便拆开一个人的大脑查看。

    [a,b] = [1,2] 这种语法糖,你已经钦定了一种数组实现,但是 OO 中数组只是一种能反应:[]消息的对象。

    类似地,你要如何实现 ActiveRecord::Relation 的模式匹配呢?

    当你{total_count, records} = relation,你已经在relation.instance_eval{|x| @total_count} 了,问题是,你怎么知道 relation 里有@records和@total_count?

    当然,ruby 里也不是没有模式匹配,线性表的(a, (b, c)) = [1,[2,3]]是没问题的。

    还有 @Artoria 的面对接口的模式匹配:


    OO 的哲学是模拟,FP 的哲学是推导。FP 喜欢赤裸着的纯数据,而 OO 则把每个对象看成“有自己主见的人”。二者的比较其实没有什么意义,完全在于你怎么看世界。纯数据操作当然是 FP 更方便,但是类似游戏这种模拟领域,OO 的好处就非常明显了。

  • 求解 singleton_class, singleton_methods 的深入问题 at December 01, 2016

    要了解单件,建议先学 javascript

  • [译] 重构 Rails MVC 组件的 7 个设计模式 at December 01, 2016

    presenter 那样做很蠢。。decorator 则会让命名空间更乱
    article.present.meta_title这样是比较好的
    类似的还有
    product.update.available_stock product.calc.profit 把操作分发到 Updater 和 Calculator 里做

  • [讨论] 大量 String 判断式的重构方法 at November 15, 2016

    图里的代码还有&&,还有 caseInsensitiveEqual,还有 contains 啊....

  • 统一账户管理平台 at November 14, 2016

    gravatar 好是好,可是被墙了

  • 自己编译, 让 Ruby 加速 7~10%(亲测有效) at November 13, 2016

    其实是 clang 比 gcc 快,之前 ruby weekly 好像发过

  • 将 erb 拿到前端渲染如何? at November 08, 2016

    #2 楼 @billy 我的意思不是用 ruby 写 js,而是让后端在 render 的时候,维护一套 partial 的依赖,然后把需要用到的 partial 传到前端渲染。也就是对一个现有的 rails 项目,不用改动 view 层任何代码,就能让前端在发起 action 的时候自动获取 partial 模板在前端渲染。

    也就是理想状态下你的 view 都写在后端 erb,每个 erb 相当于 React.PureComponent,自动渲染,不需要任何 js 代码。

  • 将 erb 拿到前端渲染如何? at November 08, 2016

    #3 楼 @dsh0416 叫什么名字?

  • 关于 eval 是否 evil 的一些想法 at October 29, 2016

    #7 楼 @dsh0416 https://github.com/CicholGricenchos/tricks/tree/master/caller_context_operate 一般是用来干这种事的,不过不多见

  • 关于 eval 是否 evil 的一些想法 at October 29, 2016

    有种情况你不得不用 eval,就是你要 binding.eval 的时候

  • 谨防 ActiveSupport::Cache::Store 缓存 nil 值 at October 25, 2016

    补充一点:如果用了 memcached,那么恰恰相反,是不会缓存 nil 的,要自己转换一下 nil

  • Rails 为何不允许 resources 中的 new, create 等 map 到自定义的 action? at October 22, 2016

    #10 楼 @Rei 有 controller 这个 option 吗,我在http://edgeapi.rubyonrails.org/classes/ActionDispatch/Routing/Mapper/Resources.html#method-i-resources没看到

    我回去试试吧

    找到了,是 match 的 option,那就没问题了

  • Rails 为何不允许 resources 中的 new, create 等 map 到自定义的 action? at October 22, 2016

    #6 楼 @IChou #7 楼 @Rei

    我之前的回复是对于 model 说的,你们说 controller 可以拆开两个我也同意,但是就算我想用 ProductReviewsController,你也得让我能把 new_product_review_path 匹配到 product_reviews#new 啊。。

    我的理解是嵌套资源就对应着关联关系,但是路由这里不允许两种嵌套资源同时存在,那么也就是模型层的两种关联不能同时正确地表达了

  • Rails 为何不允许 resources 中的 new, create 等 map 到自定义的 action? at October 22, 2016

    #4 楼 @emanon 是一个东西,但是 view 层不同,一些 require login 之类的东西也不同

  • Rails 为何不允许 resources 中的 new, create 等 map 到自定义的 action? at October 21, 2016

    #1 楼 @lixu19941116 这个是错误的,正确的具名路由是 new_order_review_path,我也不是很想打破 rails 的规则,不行的话我还是在 reviews 控制器按参数处理算了

  • 我从 Vue.js 回到了 jQuery at October 19, 2016

    迁移有歧义啊,另外要 jq 的话可以试试 bacon.js,部分场景有奇效

  • Ruby 3 Guilds 并发模型 at October 18, 2016

    #9 楼 @lilijreey Actor 的信箱本来就是锁

  • Ruby 3 Guilds 并发模型 at October 18, 2016

    #8 楼 @lilijreey

    正面回答我的问题,immutable 的值为什么不能共享?

    别以为知道个名词就能来掉书袋,joe 的书我又不是没看过

  • Ruby 3 Guilds 并发模型 at October 17, 2016

    #3 楼 @lilijreey 前言不搭后语,nodejs 还要学?现在用 em 就能实现一模一样的东西。immutable 的值为什么不能共享?

  • 一个意想不到的产品, 安静地脑补 [视频] at October 16, 2016

    泡沫要破了

  • Rails / PostgreSQL 使用 JSONB 属性心得 at October 15, 2016

    这种重要数据没有 schema 检查很容易烂掉的,逻辑上也会有脱离 Order 查 Item 的情况,例如统计各商品售出等,另外这个 Item 只是存个名字是不是太简陋了点...

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