Complex finders in controller make application hard to maintain. Move them into the model as named_scope can make the controller simple and the complex find logics are all in models.implemented
According to Roy Fieldingâ€™s doctoral thesis, we should use restful routes to represent the resource and its state. Use the default 9 actions without overusing route customizations.implemented
Some people will define 3 or more level nested routes, it's a kind of over design and not recommended.implemented
If you use RESTful design, you should NOT use default route. It will cause a security problem. I explain at http://ihower.tw/blog/archives/3265 too.implemented
According to the decoupling principle, model should do finders by itself, a model should not know too much about associations finders logic.implemented
named_scope is awesome, it makes your codes much more readable, you can also combine named_scope finders to do complex finders.
If you have to set some external gem's config options in /config/enviroment.rb, contain it within `if defined?` block