• 复杂与否需要看具体的场景。如果经常面对超过一千行的model,就会发现这些绕来绕去的写法是多么好用。 文章中举的例子都是单场景。许多看起来之前复杂,重构后更复杂,这种感觉是对的。

    但是有时候一个model牵连许多许多的业务逻辑的时候,二话不说全放在model里,这样做是works的,但是这么干简直就是犯罪。代码的可维护性,扩展性几乎没有。

    想想这样的时候情况:一个订单模型作为入口同时涉及到产品,条码,六七种支付模式,折扣,优惠码,定制(多糖少糖),会员卡,积分,余额,税款(不同地方税制不同),货币,时区,退货,库存,店面,客户,取号预订,电话预订,桌台分布,打印小票,单据....

    想想这些逻辑都在一次点餐消费的动作中执行并且由订单模型来统筹。

    有时候不是为了炫技,而是切实的需要。

  • 似乎忽然封了一波 VPN at 2016年9月20日

    希望如此吧. Google用不了, 邮件都没法收了.

  • 似乎忽然封了一波 VPN at 2016年9月19日

    补充一下, 只是可用, 不快.

  • @drshu 话说两天了,你的问题解决了吗? 解决了的话, 怎么解决的? 帖出来啊. 你掉进的这个坑我永远也不希望踩进去.

  • Mr _Why 的节奏吗

  • 应该没有太大关系的. 我觉得你这些问题大家帮你排查了这么久都找不出原因, 可能是服务器底依赖(编译器)或你的mina配置有问题. 你可以考虑sudo apt-get upgrade && sudo apt-get update一下. 再仔细检查一下你的Mina配置. 如果可以的话, 把配置帖出来. 明天早上大神们起床了, 帮你把下脉, 可能就解决了. 程序猿也是要睡觉的不是吗?

  • @drshu , 这样完全不知道怎么帮你了. 我之前升级到macOs时, 也碰到了nokogiri 1.6.8安装失败的问题, 最后是通过安装了xcode 8 beta并升级了CLI之后才OK的. 你可以试试从cli的角度去排查一下问题. 仔细看一下, 原来我提到的可能性 @huacnlee 已经提到过啊. 以后得认真看回复 😅 .

  • #19楼 @drshu 你确定你是通过rvm安装的? 我服务器上部署者身份运行which ruby是这样的/home/xxx/.rvm/rubies/ruby-x.x.x/bin/ruby, 这样看起来才像是rvm的玩法吧. 你运行ruby -v呢? (在部署者身份下)

  • 如果你本地运行gem install nokogiri -v '1.6.8'成功, 部署时却失败. 说明两种方式运行时你的ruby环境是不一样的. Mina部署时需要一个身份, 这个身份可能用的还是低版本的ruby(一般是系统自带的). 而你自己通过rvm安装的ruby 2.3.0, 则是你以root的身份安装的, 并不是全局的. 可以试着切换至Mina配置的部署者身份登录, 再运行下ruby -vwhich ruby. 希望以上全是臆测. 😄

web developer from frontend to backend.