Ruby on Rails - fat model skinny controller in ruby on rails- ruby on rails tutorial - rails guides - rails tutorial - ruby rails
- “Fat Model, Skinny Controller” refers to how the M and C parts of MVC ideally work together.
- Namely, any non-response-related logic should go in the model, ideally in a nice, testable method.
- While, the “skinny” controller is simply a nice interface between the view and model.
- This can require a range of different types of refactoring, but it all comes down to one idea: by moving any logic that isn’t about the response to the model (instead of the controller), not only have you promoted reuse where possible but we’ve also made it possible to test our code outside of the context of a request.
Example
We can change it to this
We can move the logic to our post model
Output
- It look like this