• @Rei 感谢提醒,虚心接受。

    #5 楼 @QueXuQ 如果的确只能用 number 的话,可以将 id 作为隐含字段,客户填写 number 后以 ajax 的方式取出 id 值 或 删除 id 字段就是,(删除线不起作用了?)可以在 Controller 中把 id 查询出来更新一下 :list_attributes 就是。

    当然,如果多个 Nested Form 中都出现了 number 取代 id 的情景的话,你也可以考虑给 assign_nested_attributes_for_collection_association 这个方法打猴子补丁,这个方法位于rails/activerecord/lib/active_record/nested_attributes.rb

    @aptx4869 不太赞成你的方法哈,你的代码实际上以 create_or_use_list(list_params) 为核心,其它的都是在打酱油之余负责买萌的,呵呵。

    不过即使方法名不买萌,这样的代码也增加了不必要的复杂性,代码行数增加数倍、方法名增加数个不说,还失去了 accepts_nested_attributes_for 提供的一系列便利,这些便利其中最常用的就是使用 reject_if 进行过滤,你懂的,比如像下面这样:

    accepts_nested_attributes_for :lists, 
      :reject_if => proc { |attributes| attributes['about'].eql? "宇宙真理" }
    
  • 你的问题属于 google 和看文档就能够解决的问题,就是一个标准的 Nested Model Form 的应用场景,与 simple_form 毛关系都没有。

    很简单,就是需要在 Order 中加入:

    accepts_nested_attributes_for :lists

    然后把 List 的 number 字段改为 id 即可。

    ActiveRecord::NestedAttributes 会自动判断给定的 id 是否存在,存在则更新,正好满足你的需求。你如果坚持要用 number 作为字段名的话,理由是什么?

    详情参见:

    #196 Nested Model Form (revised) ActiveRecord::NestedAttributes::ClassMethods

  • 如果是专门为 6 寸优化的 PDF 还勉强,否则简直不能看。

    其实大多数电子书都能找到 epub 版,然后你可以到 这里 去转换成 mobi,我许多书都是这样处理的,很好用的。

  • 用 paypal 付款后是可以立即下载电子书的。

    另外,这本书用的是 haml,是否合你的胃口要拈量一下吧,反正我是相当不爽 haml 的

  • @ashchan 难得见到五笔用户了,握爪!

  • sprockets-rails 现在还很不稳定啊,我遇到几个 File to import not found or unreadable 的问题,弄了半天也无解,这样整了下:

    gem 'sprockets-rails', github: 'rails/sprockets-rails'
    gem 'sass-rails', github: 'rails/sass-rails'
    

    然后好象就能用了。

    另外,sprockets-rails 的搜索路径仍然包括 lib/assetsvendor/assets,也就是说这两个目录下的图片 config.assets.compile = true 时能找到,rake assets:precompile 时就不见影了,真不知这是什么样操蛋逻辑,我原来喜欢把第三方组件(非 gem)的资源放入 lib 或 vendor 的,升级后不得全部移入 app 中,乱麻了!

  • @ywencn 支持试一下,可能对诚实的孩子还是有用的

  • 国内也有类似的培训,逆向收费法,完成课程则完全返费,完不成学费就没了。

    我觉得这个只适合学习、培训之类的任务,对重要的人生任务无解,如何验证你真的完成了?学习培训之类的可以用考试、作业来检验,其它类型的任务监督和检验都存在困难。

    所以人肉监督才是最靠谱的,看看历史最著名的人肉监督吧:

    “夫差!你忘了你的杀父大仇了吗?”卫兵每天都大声骂道。
    “不,我没有。”夫差流着泪说。
    然后,夫差终于就拘了越王,睡了西施……
    
  • 王垠谈编辑器与 IDE at 2013年04月27日

    @darkbaby123 搞学术的思维出发点不一样,我们做工程的,看看即可,不可当真,你让一个铸剑大师看一把明月弯刀他还可能勉强接受,但要他接受一对倒钩就太难了,这什么玩意儿?能刺吗?能劈吗?为什么不直?为什么没锋?…… 至于说瑞士军刀,就更是丑得不成样子了。

    此人肯定不是铸剑大师,但也不是百晓生,如果你自己用倒钩用得正爽,何必在意别人嘲笑你的兵器丑呢?至于说初学者,挑选兵器时不舞那样几下,光听别人说,又有什么用呢。

  • 王垠谈编辑器与 IDE at 2013年04月26日

    @darkbaby123 我第一次知道这个人,看了看他的最新一篇博文 关于 go 语言,对于“为什么作者这样想”,他在思维导图中解释得很清楚,他列出的关于 go 语言那些坏的、丑的、可怕的地方都一目了然的,还有是然后的。

    可能他的思维导图随时在更新,过了就看不到他当时的想法了。

  • @luikore 眼泪哗哗的,万分感谢,这完全是手把手的教啊!我看我真应该下定决心来认真学下正则了,google 的时间成本已经比学习成本多多了

    我没改代码,直接用 /[^-’[^\p{P}]]|’$|’”$/ 对付了,暂时能用,关键是您说的双重否定太重要了,完全是茅塞顿开啊

  • @chenge 晕死,“”‘’ 本来就是英文的,你确定知道我问题在哪儿吗?

    我是要匹配所有的标点符号,包括中英文,但不匹配 don'tdon’t 中的 ',求高手指点。

  • @chenge Ruby 的正则表达式好像只能处理 ASCII 码,在表达式中直接写入非 ASCII 字符好像会被忽略的,好像是这样,不确定……

  • @youfeis 要善用 Help 啊,Rubymine 的 Help 菜单下有一个 Productivity Guide,里面有各种快捷键的说明

    阅读源码的快捷是 cmd + b(Windows 平台你自己查),或者按着 Ctrl 键点击方法名,然后选择 Go To -> Declaration

  • @ywjno 一个机器方便些,还可以复制粘贴

    @as181920 恩,回头试下,用单位的服务器来作测试机

    @lgn21st 强迫症,强迫症,呵呵,我也是分配 2G,使用上实际没什么感觉,就是有页面交换,chrome 是内存大户,再加上我长期不关机

  • @yield 晕,那就只有算了,断了这个念想,可能强迫症的成份居多,见不得电脑页面交换

  • retina 版的也是吗?好消息啊,我看我有点强迫症了似乎

  • @lgn21st 恩,就是这样的,你这个解释更全面。

    考虑过一般机器的性能,特别是 VPS 上的话,得适当增大超时时间才行,我一般是设置为 65s,超过 65s 的慢查询才使用 delayed_job 放到后台,不然需要异步执行的代码就太多了。

  • @jasl 谢谢关注。

    信息很少是因为这条出错信息太孤立了,就这么孤零零的一行时不时的出现,google 也找不到类似的案例。

    我认为应该不是配置问题,但我回头把 unicorn 完全按手册重新配置一遍看看能不能解决这个问题。

    关于内存泄漏,的确看来是一个普遍现象,我就暂时不去纠结这个问题了,呵呵。不过我刚刚发现了这个东西:https://github.com/kzk/unicorn-worker-killer 可以代替我的手工重启 unicorn 的需求。

    BTW,您说的 unicorn 默认 30s 重启一次 worker 肯定是理解错了,应该是worker 的执行时间超过 30s 就重启它

  • @hooopo 不是说程序员说话太直接,而是思维方式倾向于为同行挑刺。

    我参与过几个信息项目的评审,我一般也会在评审会上指出该项目在技术上的不足之处,诚恳而客观地,大多数时候被评的项目承担人也心服口服的,甚至于惶恐。

    后来发现,所有的项目中,唯独信息项目的经费是最低的,做得却最辛苦,最后一般还不太受领导待见,我问过一位主要领导为什么,是不是他们不太重视信息技术,领导说不是的,主要信息项目的质量一般都不高。——我拷!其他那些狗屎项目的质量高吗???领导说你说了不算,专家们说了才算,专家们对那些项目都很肯定啊。

    联系到我元旦期间的亲身经历,就让我对不同职业的不同思维习惯太有感触了,也许是我老了。

  • @ywencn 恩,你也是典型的程序员思维方式😄

  • @hooopo 简单地说吧:程序员对同行总是以贬低为主,总是在给同行找缺点;而其他行业,比如说医生、律师等等,也会同行相轻,但是在外行人面前,总是以理解同行、维护同行利益为主。

  • 如果单纯只是要 windows 下的开发环境的话,http://railsinstaller.org/ 最简单,话说我在 Mac 下也是用它起的步。

    你的需求主要是要部署到 heroku,试了一下,似乎应该使用 https://toolbelt.herokuapp.com/windows,我试着安装了一下,并没有覆盖掉我原来的 ruby 路径的。

    用这两个安装文件,再加上 sublime,windows 下其实也是超级简单的。

    sqlite 的问题,无解,你选了这个环境,就必须受这个环境的限制。