We've open sourced Themis: https://github.com/TMXCredit/themis It's a library which makes validation in rails a little bit more flexible(e.g. you need to apply different validations on a model graph depending on context).
And here is article how to use it: http://greyblake.com/blog/2013/08/19/validation-in-rails-with-themis/ Also I showed in article alternative approaches to solve similar problems.
Thanks, and sorry for English. One day I'll speak Chinese, I promise! :-)