@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/assets
和 vendor/assets
,也就是说这两个目录下的图片 config.assets.compile = true
时能找到,rake assets:precompile
时就不见影了,真不知这是什么样操蛋逻辑,我原来喜欢把第三方组件(非 gem)的资源放入 lib 或 vendor 的,升级后不得全部移入 app 中,乱麻了!
@ywencn 支持试一下,可能对诚实的孩子还是有用的
国内也有类似的培训,逆向收费法,完成课程则完全返费,完不成学费就没了。
我觉得这个只适合学习、培训之类的任务,对重要的人生任务无解,如何验证你真的完成了?学习培训之类的可以用考试、作业来检验,其它类型的任务监督和检验都存在困难。
所以人肉监督才是最靠谱的,看看历史最著名的人肉监督吧:
“夫差!你忘了你的杀父大仇了吗?”卫兵每天都大声骂道。
“不,我没有。”夫差流着泪说。
然后,夫差终于就拘了越王,睡了西施……
@darkbaby123 搞学术的思维出发点不一样,我们做工程的,看看即可,不可当真,你让一个铸剑大师看一把明月弯刀他还可能勉强接受,但要他接受一对倒钩就太难了,这什么玩意儿?能刺吗?能劈吗?为什么不直?为什么没锋?…… 至于说瑞士军刀,就更是丑得不成样子了。
此人肯定不是铸剑大师,但也不是百晓生,如果你自己用倒钩用得正爽,何必在意别人嘲笑你的兵器丑呢?至于说初学者,挑选兵器时不舞那样几下,光听别人说,又有什么用呢。
@darkbaby123 我第一次知道这个人,看了看他的最新一篇博文 关于 go 语言,对于“为什么作者这样想”,他在思维导图中解释得很清楚,他列出的关于 go 语言那些坏的、丑的、可怕的地方都一目了然的,还有是然后的。
可能他的思维导图随时在更新,过了就看不到他当时的想法了。
@luikore 眼泪哗哗的,万分感谢,这完全是手把手的教啊!我看我真应该下定决心来认真学下正则了,google 的时间成本已经比学习成本多多了
我没改代码,直接用 /[^-’[^\p{P}]]|’$|’”$/
对付了,暂时能用,关键是您说的双重否定太重要了,完全是茅塞顿开啊
@chenge 晕死,“”‘’
本来就是英文的,你确定知道我问题在哪儿吗?
我是要匹配所有的标点符号,包括中英文,但不匹配 don't
或 don’t
中的 '
或 ’
,求高手指点。
@chenge Ruby 的正则表达式好像只能处理 ASCII 码,在表达式中直接写入非 ASCII 字符好像会被忽略的,好像是这样,不确定……
@youfeis 要善用 Help 啊,Rubymine 的 Help 菜单下有一个 Productivity Guide
,里面有各种快捷键的说明
阅读源码的快捷是 cmd + b(Windows 平台你自己查),或者按着 Ctrl 键点击方法名,然后选择 Go To -> Declaration
@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 的问题,无解,你选了这个环境,就必须受这个环境的限制。