<p>Hello all,<br>
A few sessions ago someone discussed the issue of fat come controllers and how to move move away from them in rails. Now, recently I have started working on <a href="http://railstutorial.org" target="_blank">railstutorial.org</a> as a way to get some exposure to the framework and though my controllers didn't get to a monstrous situation yet, I can already see that SRP isn't being applied thoroughly in the tutorial (probably srp is outside the scope) and being the impatient student that I am, I thought I could try my luck here.</p>

<p>Ok, so I've got this little controller here (<a href="https://github.com/nieve/Nivter/blob/master/app/controllers/users_controller.rb">https://github.com/nieve/Nivter/blob/master/app/controllers/users_controller.rb</a>), nothing too complex. However, I can already see that all sorts of different concerns are leaking into this controller (authentication & authorization namely) and that's without even talking of the too many actions one controller is responsible for.</p>

<p>Googling around, I eventually stumbled upon a solution to one of the issues that looks quite cool (<a href="https://github.com/jonleighton/focused_controller">https://github.com/jonleighton/focused_controller</a>) and I was wondering if this is something people tend to use or do you turn to other means to address this issue? Also, I was wondering regarding the separation of concern, in the .net world we tend to use AOP in order to achieve a nicer SoC; however, recently a few guys have written this new front controller framework that uses what they call Behaviours (<a href="http://fubumvc.readthedocs.org/en/latest/topics/behaviors/index.html">http://fubumvc.readthedocs.org/en/latest/topics/behaviors/index.html</a>), which manages to capture really nicely the idea of a request pipeline- something that makes more and more sense to me: in order to handle a request we usually tend to go through a few steps before (and sometimes after) the action is executed; in some cases, ending the request if a certain condition isn't met. It seems to me rather natural to use something like behaviours or a pipeline or a russian dolls pattern to convey just this, so that every step in the chain is responsible to either continue the chain or end it. Is there anything similar to that in rails? Would it even make sense at all in rails?</p>

<p>Would appreciate your thoughts</p><p>Nieve<br>

</p>