看来我井底之蛙了——做了 4、5 年的 ruby/rails,也面试过上百个从初生牛犊到经验老道的 ruby 程序员,真正牛的还是屈指可数啊。。。
随便来贴张以前顺手涂鸦的好了 -__,-
因为我们团队目前在用 Datamappify + Rails 4.0 开发,所以暂时没有机会加入 3.2 版本的支持。不过我猜想应该不难,如果有兴趣的话你可以提交个 PR。:)
如果已经有 ActiveRecord model 了的话,Datamappify 会自动用现有的,不会再生成。
是的,目前为止我们就是这么用的。特别是,配合 simple_form 使用,可以减少很多 nested attributes 的使用。
对的。
level
会被保存在 users
表中,因为 entity 的继承是 STI (Single Table Inheritance) 。
我原本想去的,提交了个 lightening talk 被采纳了。后来想想还是算了,因为不喜欢 travel。:P
提个几点反馈——
1) 点击“下一页”后没有显示更多。
2) 我昨天试了下,但因为我基本上在微博上不发布和工作相关的内容所以我把微博删了,但若干分钟后在活动页面上仍然有链接。建议做个 cron 检查。
3) 刚才收到你们的邮件,没有退订链接,只有“通知提醒”的修改,但修改链接是 #(null)
。很多人肯定会直接扔垃圾邮件的。另外,在许多国家,不附带退订链接是违法的,通常直接退订不了的就扔 spam。你的域名到时候会被 gmail 之类的直接送 spam。
某一块,某一块~ 缩小地图炮的攻击范围 :D
国内的 thoughtworks 貌似是个大坑,其中某些 程序员整体水准非常低……(至少 ruby 这一块是这样) -_-
ActiveSupport::Concern
只认识 ClassMethods
。
require 'active_support'
module A
extend ActiveSupport::Concern
def add_game(game)
puts "add_game(#{game})"
end
def remove_game(game)
puts "remove_game(#{game})"
end
module ClassMethods
def search_by_game_name(name)
puts "search_by_game_name(#{name})"
end
end
end
class C
include A
end
c = C.new
c.add_game(1)
C.search_by_game_name(2)
这个的作者也是我们公司的同事。:)
代码的缩进用了 两个空格,四个空格,tab。Hmm...
对于 DAMP not DRY 这条我不完全赞同,或是说,有些补充。
通常我还是会把相同的东西放在 before
或 after
里。但是用 describe
或 context
把这些相关的集合在一起。这样在读测试代码时很清楚的就知道这些都是相关的 assertion。
One assertion per test 这条其实也要看具体情况,比如测试 order。
我这几天刚写了份测试正好涵盖了这两条的反例—— https://github.com/fredwu/datamappify/blob/master/spec/repository/callbacks_spec.rb
目前领队做新的项目,用 rails 4 + Datamappify。 ^__^
最新增添了 lazy loading!https://github.com/fredwu/datamappify :D
前公司雇佣过 Thoughtworks 澳洲本地的,都非常优秀。然后后来雇佣了国内的(貌似是北京的)Thoughtworks 团队,结果。。。就不提了。。。-_-#
= link_to "btn1", "#", :class => "btn"
'
= link_to "btn2", "#", :class => "btn"
貌似接下去会先发布个 RC1 版本。
那么巧…… James Moriarty(这个游戏的作者)这个礼拜刚开始来我们公司上班,在我 team 里。 :D
我的中文表达能力这几年直线下降啊。。。T__T
平均算下,天朝买房大概需要一百年的薪水。袋鼠国大概需要 30 年的薪水。
rvm
rvm 的设计理念是自动化,全面。 rbenv 的设计理念是规范化,小核。