首先,你 Ruby 的版本是?
#9 楼 @redemption 简单点说就是没必要。 如果 Rails 自己能保证外键约束,为什么还要多此一举让数据库去管外键呢? 再加上数据库的外键可能各个系统设计上会不同,甚至还会遇到不支持外键的数据库,总不能为这些数据库分别写几套适配器吧。
Also bundle install --path vendor/bundle
一向是用 rebase 的。从上游拉代码用 rebase,完成功能用 merge。
因为 children 的从属关系不是保存在主对象里的,而是保存在子对象里。 从 children 里剔除,只能经由 delete 这种方法。 否则你就得用事务。
Have you ever tried the simplest way?
{ |ch| ch == ch.downcase ? ch : ch + ch.downcase }
is almost 20% faster.
“Look at this figure…and then…you can see…someone sitting on the floor looking at a dot. On the floor. By themself. Now you don’t forget. Yeah.”
---- yukihiro_matz
诶?Open fire 是什么意思。
400k 别野贷款 30 年?也有点太低了吧…… 在美国好点的本科毕业应届生起步就能拿 100k/年,400k 别野 15 年怎么都能付清了……
[1] pry(main)> a = nil
=> nil
[2] pry(main)> not a.nil? and a.downcase
=> false
[3] pry(main)> not a.nil? and a.downcase == 'case'
=> false
[4] pry(main)>
从 Ruby2.3 开始你可以用单身狗运算符了。
a&.downcase == 'case'
帮你谷歌了一下。
不可以。
说得很对。 如果一个人能够找到正确的方式学习,那他早就找到了。 高中、初中,甚至小学的时候就开始自己学习知识了。 跟着做项目无非是锦上添花,能够更快更多地学习到整套知识流程罢了。
我实习的时候有个烙印和我同时进组,同时开始学习 Ruby on Rails,我花了一个星期学基础,然后就开始写项目了。烙印同学干了一年多大概前后只用 Scaffold 搭了一个程序框架出来,估计写的代码量还不到一百行。一年过去了我毕业了烙印也跟着辞职了,我写了 3 个 Rails 项目,人家打了一年酱油。同样的环境,自己不努力,最后结果会差得很远的。
if 和 while 本身没有太大的区别。无非是写得好看难看点。(ruby 我记得是推荐 loop+if 跳出的)
你这里的区别在于循环与递归。
所以一直坚持用函数式做法……
RAILS_ENV=development
#17 楼 @hxh1246996371 不要偷换概念好吗? 我一开始就是评论的这句话:
你的英语好不好 如果英语好,Ruby Python 随便挑一个就行了,而且都能基本学会;英语不好,请学 PHP 因为 Ruby 和 Python,都有相当好的教程适合学习,也有友好的社区,但基本上都是英文。
对于 Ruby/Rails 社区来说,就算英语不好,但是如果日语好,照样能看能学。 你偏要跟我扯懂日语和懂英语的人数量,有意思吗? 按照母语人口来计算,英语也只能排第三位,第一是中文,第二是西班牙语,母语日语的人口是英语的三分之一,作为一个小语种不算少了。
也就 Ruby 是日本人开发的罢了。
我们难道不是在谈 Ruby?还是你觉得我们在谈什么别的东西?
这只是对你而言
别闹了。你看看这个论坛里有多少人是懂日语的?有多少人过了 N2 N1 的? 不要因为自己不懂就觉得别人也和你一样不懂好吗? 高考选了日语的,或者大学里修日语专业的人就无视了么。
#14 楼 @hxh1246996371 对于懂日语不懂英语的人来说,当然了。 相比于 Python 以英语为主来说,双语至少提供了更多的选择。 (懂日语的人总比懂荷兰语的多吧?
#19 楼 @isaaczeng 思考和测试都是必须的。 并不是写测试的人就没有思考能力了。
Ruby 至少有很多日语的资料,不懂英语不算大问题。
毫无内容。帖子对社区没有意义。
今天晚上吃猪肉还是羊肉?猪肉的烧法比较多,羊肉没怎么尝试过。
你如果还有机会来这里的话,不妨自己想想看。
如果你花 5 秒钟时间写了一个问题发出来,那么管理员用 5 秒钟时间把帖子扔进回收站毫不过分。
现在我们公司就是没有测试代码,所有的修改都是人测。 五六万行的代码,每次完整测试一次都要三周。
举个刚遇到的问题。 Ticket 1: Windows 服务器用户名不应该接受非法的字符,例如 " ' / \ ? 等等特殊字符。
于是我加了代码,在 3 个 model 的 5 个判断处加上了 raise error if username =~ /.../.
Ticket 完成了,QA 输入了一个非法字符,成功拿到了错误提示,搞定。
真搞定了吗?没有。
第二周客户拿新版本去用,然后就遇到问题了。 Windows 服务器的用户名可以用反斜线分割域名和账号。 ↑看上面,我们把反斜线禁用了。 客户非常愤怒,让我们赶紧修。 Ticket 2: Windows 服务器用户名处无法输入 域名\用户名
于是我打开源代码,找到了正则表达式,去掉了反斜线。 随便测了一下,哦可以用了,搞定。
真搞定了吗?没有。
过了两天我们一个 Dev 来找我,说你这正则出现了 5 次却只改了 3 个地方啊……
噫 Ticket 3: ……
这帖子里我既没有看到代码,也没有看到错误信息,更没有看到题目和思路。
多花那 1 份的时间值在哪里
不值。但是如果你不写测试,你会多花 10 份时间,更不值。