Fork me on GitHub

Use instead of

22 Oct 2014

Dan Kohn (

The ActiveSupport method should be used in place of the Ruby method to pickup the local time zone. Read More


Don't modify the params hash

18 Sep 2013

David Davis (

The params hash contains all the data that was submitted from a request. If you modify it, later code won't have access to it. Instead, copy the params hash and modify the copy. Read More


default_scope is evil

15 Jun 2013

Richard Huang (

ActiveRecord provides default_scope to set a default scope for all operations on the model, it looks convenient at first, but will lead to some unexpected behaviors, we should avoid using it. Read More


Clever enums in rails

18 Apr 2013


After many years of rails developing I have finally found satisfying solution to implement enums in rails. Read More


monitor your backend services

28 Mar 2013

Richard Huang (

We always have multiple processes for rails websites, if any of them crashed, your website failed, so it would be better to monitor all of the processes and automatically restart crashed processes. Read More


Pay more attentions on security

22 Mar 2013

Richard Huang (

Recently we saw rails exposed some security issues, github was attacked, was crashed, they all remind us we must pay more attentions on our rails projects. Read More


speed up assets precompile with turbo-sprockets-rails3

23 Nov 2012

Richard Huang (

Rails is integrated with sprockets from 3.1, which gives you the power to pre-process, compress and minify your assets. It's awesome, but it slows down deployment a lot. Read More


Check the return value of "save", otherwise use "save!"

02 Nov 2012

Richard Huang (

The "save" method on ActiveRecord returns "false" and does nothing if the record is invalid. You should always check the return value, otherwise you may inadvertently not save the record. If you think the record can never be invalid, or don't want to check the return value, use "save!" Read More


Don't rescue Exception, rescue StandardError

01 Nov 2012

Richard Bradley (

In C# or Java, you can `catch (Exception)` to rescue all exception types. However, in Ruby you should almost never catch `Exception`, but only catch `StandardError`. Read More


Tell, don't ask

29 Sep 2012

Zamith (

Methods should focus on what you want done and not how you want it. Read More