I understand rails very well and am not new to rails by any means. I've read numerous websites on rails components, etc. Based on my research and experience the only fallacy with components is the performance issues. Am I wrong? I found that rendering a component on my website slowed it down 5 times. I took a look at my logs and noticed all of my before_filters running twice. You get a method called component_request? in your controller. You are also allowed to pass parameters to components. That being said, I was able to cut out a lot of the before filters and just pass the variables I needed using params. That cut the 5 down to 1.5. Now performance is not an issue. Am I missing something here? Thanks for your help.
on 2007-04-26 22:54
on 2007-04-26 23:41
The main issue with components is that you effectively get a new controller request with each component - so with a page with 3 components it's kinda like 4 requests in 1. This obviously present a performance issue. Saying that, the main reasons components have fallen out of favour is firstly, they weren't extracted from a 'real-life' situation (unlike most other features) and secondly, you can achieve pretty much the same thing using before filters and helpers, but much more efficiently. Having said that, I've no doubt someone is working on a plugin to support components in a nicer way. Steve
on 2007-04-27 00:13
>From what I've read on the subject it's not simple about performance, although that's a big part of it. It seems to be more about the fact that design patterns exist the render components unnecessary in most situation and it's about reducing complexity, by more refined coding conventions. I also understand that Rails 2.0 may eliminate components from the standard libraries, so as a new Rails developer I will choose to avoid them entirely and stick with the patterns being promoted by the Rails core team. On Apr 26, 2:54 pm, Ben J. <firstname.lastname@example.org>