• @Rei 21 楼,灌水的,赌博网站广告。

  • Umm...我来回一个水帖,分享一个基于真实事件的故事。

    年后,老张把我拽到了现任公司,说有个比较大的新项目,要我来狠干一票。项目开始前,经过冷静客观的分析,Rails 成为最合适的选择。

    我信心满满地跑到了老张的工位,“老张,上 Rails 吧,没毛病。”

    ……(省略五千字对话)

    老张叹了口气,对我说:“兄弟!虽然是我把你拽来的,可是你要是用 Rails,我就得下岗了呀!”

    我回头看了看角落里 navicat 手动连 mysql 导入 sql 改表结构的 java 程序员,又瞧了瞧隔壁红着眼睛盯着屏幕里《企业中台建设方案》ppt 的架构师,又瞅了瞅老张桌子上积满灰尘的《人工智能时代》,有点儿出神。突然,大厅里响起了一声谩骂:“艹!谁 TMD 本地启服务不改服务名?!” 我被这一声怒吼唤回了神,默默地回到了座位上,运行 rails new 新建了一个项目,然后用力敲击键盘,在 home page 用 h1 字号写下了一句 “Hello, world!”

    五个月过去了,新项目迟迟还没有启动,在一个微风扶面,带着丝丝凉意的夜晚,我和老张走在下班必经的小树林里。

    “老张,那项目啥状态了?啥时候开干啊?”

    “嗨!别提了,半路杀出来个阿里,抢走了好多核心业务。合同还没签下来呢。”

    老张点了根儿烟,接着说,“MD!老子在大老板那牛逼都吹出去了。”

    我拍了拍老张对他说,“能拿下点儿,是点儿,在甲方那再使使劲儿,别总微服务,人工智能的,区块链的,不新鲜了。”

    老张狠狠掐灭了眼头儿,“行,等信儿吧,我再约他们喝一顿。先走了。”

    老张钻进了他的 suzuki 小汽车,一溜烟儿开走了。

    昨天一大早,老张来到我的工位,“兄弟,拿下来了!未来三年都有吃的啦,后台管理的增、删、改、查全是咱们的!”

    “额,恭喜恭喜啊,这回你年终奖少不了吧。”

    “嗨呀!哪有,多亏你帮我弄的 ppt,把那群家伙唬得一愣一愣的,啥边缘计算,WebAssembly 的他们都没听过,哈哈哈!”

    我冲着老张微微一笑,“那这回我上 Rails 更没毛病了吧。”

    老张撮了撮手,“那啥,用不用 Rails 咱们回头再聊,反正甲方指明了 java 微服务不能少。啊,对了!还说要用个什么微前端的东西,你抽空也研究一下吧。”

    “那……” 我没来得及说话,老张的电话响了,“哎呦!王总啊!……对对对,拿下来了,拿下来了!……哪里哪里,还是您指导有方啊!……”

    我看着老张,他变了,他再也不是那个曾经跟我一起喝着美年达通宵改 bug 的老张了。

    我缓缓地在终端打下 subl,启动 Sublime text,然后把那行 h1 标题中的 hello 改成了 F**k you 。

    快下班了,我在电脑旁出神, 老婆的来电响了许久我才拿起电话。

    “我爸手术安排在下周了,手术费还差两万。”

    “行,知道了,我想想办法。”

    “对了,尿布到了,放在门口超市,你回来的时候取一下啊。先不说了,又尿了……”

    我望着桌边崭新的《算法导论》,慢慢抚摸着陪伴我 8 年的 filco 键盘,把那行 h1 标题中的 world 改成了 life。

    全文完。

  • 这才哪到哪,比起搞前端的幸福多了呀,几乎整个 api 都给你换掉好不好~

  • Umm...我是在做纯前端工作三年以后开始接触 Rails,记得第一次把 Rails 跑起来大概是用了一个礼拜。当时正在空档期,平均每天投入时间在 6 小时左右,第一天装了 linux 系统,第二天和第三天基本是在摸清概念,Ruby 基本语法、rvm 是啥?gem 是啥?bundler 是啥?bundle 又是啥?sprockets 是啥?和 webpack 啥区别?db migration 是啥?和 sql 啥区别?。。。经历了一顿薅头发之后,第四天才开始安装 Rails,在第五天的深夜跑起来 Hello World!我想说,以当时我的水平而言,挺难的。。。

  • Rails inverse_of 研究 at 2020年05月26日

    哈~哈哈哈~大哥你也加油。

    ps:拿出手机,打开前置摄像头,掀开刘海儿~偷偷照一照我的发际线。

  • Rails inverse_of 研究 at 2020年05月20日

    补充一下,按照 Rails 6.0.3.1 源码里的写法,如果是 polymorphic 类型的 belongs_to associations 也不能自动计算 inverse_of。 @hw676018683 楼主有没有兴趣再翻翻源码,我最近经常自我怀疑,不太相信自己的判断~😂

    def can_find_inverse_of_automatically?(_)
      !polymorphic? && super
    end
    

    https://github.com/rails/rails/blob/v6.0.3.1/activerecord/lib/active_record/reflection.rb#L735

  • 老伙计太高产了,就指着你这译文系列摸鱼了,哈哈哈~

  • 谢谢!

  • 兄弟你做批发还是零售?方不方便贴个链接,我看看有没有买得起的。😀

    我看你回帖里很多是推荐小鸟,粉爱?

  • 时隔 7 年这个帖子被我再次发现!其实我倒觉得append_featuresincluded比较好区别,在不了解实情前容易蒙蔽的是append_featuresinclude的关系。一楼大哥 @lgn21st 的概括,在 stackoverflow 上找到了一个详细版本,供发现这个帖子的朋友们参考,Ruby modules and Module#append_features explanation ,加上 Matz 的澄清应该就算是一个比较圆满的答案了。