瞎扯淡 在使用 Ruby 或者 Rails 的过程中,你遇到过哪些令你印象深刻的坑?

adamshen · 发布于 2017年03月03日 · 最后由 a0nqm 回复于 2017年03月17日 · 1496 次阅读
A908ae

如题,请教各位,有没有哪些坑令你至今依然难以忘记

共收到 38 条回复
27196

windows

2329

Where in返回的数据排序问题

23196

round方法。

 1.255.round(2)
 => 1.25

 2.255.round(2)
 => 2.26

3.255.round(2)
=> 3.26

0.255.round(2)
=> 0.26

再试了下0.55,从0.55到9.55,round(2)后小数部分依然是0.55...

De6df3

看反了 Orz

27349
rake db:migrate  本地迁移出错,条件反射执行rake db:rollback
然后报错就rake db:reset。大量的时间浪费在本地迁移上面,反复重导测试数据。
14939

有些gem包bundle永远不成功,改了版本号或者ruby版本就好了,但是有时候又会引入新的问题

17671

gem包之间的依赖

20818
14939elepht 回复

握爪,深有同感。。。

15420

ActionController::Parameters is not a Hash in Rails 5.0+

0967c2

rake db:setup 跟 rake db:reset 一样,都会清除数据😪

19780
14939elepht 回复

gem版本升级升级后,原来的部分功能会丢失 也是很尴尬! gem 'carrierwave'项目中被我升级了, 后来导致文件名是中文的文件无法获取.

19780
0967c2pinewong 回复

讲出你的故事😳

0967c2
19780torvaldsdb 回复

这个主要是下意识的认为 setup == create + migrate + seed

项目在开发中数据表大变动,第一次是备份后用的 setup,数据没了,心里纳闷,然后从备份还原。后来再一次大变动,一急了又用了一次 setup,然后果不其然的又清光数据了,重要的是,这次只有上次的备份。。就是说中途的数据都丢了,还好的是这是测试数据,这次之后,我就重新对待 setup 了

24491

用message-bus。。是叫这个把?我忘记设置密码,被挖矿了(当时年纪小,教程贴没写要设置密码我就真的没设置密码)

15139
19780torvaldsdb 回复

我给大家讲一个。 某个刚导完数据准备上线的生产环境下,发现有一个Migration写错了,于是打算Rollback某个特定的版本,结果手贱写了db:rollback STEP=2016xxxxxxxx……

19780
15139msg7086 回复

rake db:migrate:down VERSION=2016xxxxxxxxx

18852

https://github.com/rails/jbuilder/issues/346, 从rails5 开始只要在gem里面扩展ActionController,就会导致jbuilder失效。不知道现在解决了没有。

27936

Ruby 里面会把 0 当成 true 来看...

60a8f6

0.1 + 0.2

Eda824

定义了一个环境变量VERSION标记应用的版本,然后跑rails db:migrate,数据库升级到跑路。。。。

3489

redis-object的lock与activereocrd的lock命名冲突,使用with_lock就悲剧了

18353
27936ecnelises 回复

+1 从Python转过来一开始被坑过

11562

我就不信没人少写end...

96

老应用ruby1.8.7 没有办法安装rmagic,只能用老的服务器做镜像,安装虚拟机

8
11562hging 回复

自动补全…

8
Eda824ericguo 回复

……

8
24491u1452261116 回复

挖矿…

11562
8hooopo 回复

行数多了...就忘记过...而且测试没问题...上线就gg

4375

以前emacs 有个插件,只要少个 end满屏幕血红色。不知道别的编辑器有没有。😂

19106
27349sec 回复

+1 每次需要手动改库

19766

是ruby的

1..10.step(1) {|x| puts x}

不迭代我也是非常迷茫

5984

我记得rails2.3 sql查询效率非常差,因为留了坑,每条sql前都会查询表信息。

19106
19766dudu_zzzz 回复

因为直接调用10的方法了 哈哈

273

Ruby 1.8 Hash not order

427786

Turbolinks的事件处理

不能好好的写$(document).on('ready', function() {}),要写成page: change,后来又改成page: load,最近升级到Rails5,还要改写成turbolinks: load

然而前端是我的弱项,从一个坑跳到另一个坑里,天知道我经历了什么……

2358
427786a0nqm 回复

我现在干脆不用turbolinks,直接api, 前端调用完事儿

427786
2358dayudodo 回复

这样需要配别的什么东西一起用吧,否则谁来处理前端资源优化、压缩的任务呢?

我实在不想折腾前端,能省则省。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册