Raphael Schmid
2006-Mar-03 10:02 UTC
[Rails] Best Practices question regarding views & controllers
Hi List! I''m reading the Agile book, as many online articles as I can, but there''s still some things that are just too hard to answer for yourself. In building my application, I often find myself putting code into my views of which I am not quite certain it belongs there. Where do you usually draw the line? Is it okay to, say, loop through an array of hashes that represents table column names and whether they need a certain colspan and build the table according to that? Any advice that you might have would be greatly appreciated! Best regards, Raphael Schmid -- Posted via http://www.ruby-forum.com/.
Alain Ravet
2006-Mar-03 10:31 UTC
[Rails] Re: Best Practices question regarding views & controllers
Raphael > Where do you usually draw the line? Is it okay to, say, loop through an > array of hashes that represents table column names and whether they need> a certain colspan and build the table according to that?If it - the code - has no impact on/is not impacted by/has nothing to do with the model or the business rules, you can safely put it in the view or helper. I guess there may be exceptions :) Alain
Josh on Rails
2006-Mar-03 13:15 UTC
[Rails] Best Practices question regarding views & controllers
I''m hardly an expert or anything, but - especially if you''re still learning - put it wherever you can make it work for now, and plan to refactor later. I find Ruby/Rails code easy to refactor, in general, so I don''t think this is a major chore. And the odds are good that much of what you write when you''re learning it (deity knows I am!) is going to want to be refactored before too long. -- Joshua On 3/3/06, Raphael Schmid <raphael@schwarzschmid.de> wrote:> Hi List! > > I''m reading the Agile book, as many online articles as I can, but > there''s still some things that are just too hard to answer for yourself. > In building my application, I often find myself putting code into my > views of which I am not quite certain it belongs there. > > Where do you usually draw the line? Is it okay to, say, loop through an > array of hashes that represents table column names and whether they need > a certain colspan and build the table according to that? > > Any advice that you might have would be greatly appreciated! > > Best regards, > Raphael Schmid > > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
Kevin Olbrich
2006-Mar-03 14:11 UTC
[Rails] Best Practices question regarding views & controllers
I tend to put code in views that only affects the display of the data and which relates to the rendering of links, buttons, etc. I will frequently take ugly code and turn it into a helper or model method just to keep things clean and reusable. _Kevin On Friday, March 03, 2006, at 8:15 AM, Josh on Rails wrote:>I''m hardly an expert or anything, but - especially if you''re still >learning - put it wherever you can make it work for now, and plan to >refactor later. > >I find Ruby/Rails code easy to refactor, in general, so I don''t think >this is a major chore. And the odds are good that much of what you >write when you''re learning it (deity knows I am!) is going to want to >be refactored before too long. > > > >-- Joshua > >On 3/3/06, Raphael Schmid <raphael@schwarzschmid.de> wrote: >> Hi List! >> >> I''m reading the Agile book, as many online articles as I can, but >> there''s still some things that are just too hard to answer for yourself. >> In building my application, I often find myself putting code into my >> views of which I am not quite certain it belongs there. >> >> Where do you usually draw the line? Is it okay to, say, loop through an >> array of hashes that represents table column names and whether they need >> a certain colspan and build the table according to that? >> >> Any advice that you might have would be greatly appreciated! >> >> Best regards, >> Raphael Schmid >> >> -- >> Posted via http://www.ruby-forum.com/. >> _______________________________________________ >> Rails mailing list >> Rails@lists.rubyonrails.org >> http://lists.rubyonrails.org/mailman/listinfo/rails >> >_______________________________________________ >Rails mailing list >Rails@lists.rubyonrails.org >http://lists.rubyonrails.org/mailman/listinfo/rails-- Posted with http://DevLists.com. Sign up and save your time!
Berin Loritsch
2006-Mar-03 14:42 UTC
[Rails] Best Practices question regarding views & controllers
Raphael Schmid wrote:> Hi List! > > I''m reading the Agile book, as many online articles as I can, but > there''s still some things that are just too hard to answer for yourself. > In building my application, I often find myself putting code into my > views of which I am not quite certain it belongs there. > > Where do you usually draw the line? Is it okay to, say, loop through an > array of hashes that represents table column names and whether they need > a certain colspan and build the table according to that? > > Any advice that you might have would be greatly appreciated! >My general rule of thumb is this: * If we are modifying the model, or finding resources, it belongs in the controller * If we are iterating through a list to display items, it belongs in the view And for the fuzzy areas where we might have to filter the results, the view should simply display the items in a set and the controller would do all filtering.
Charlie Bowman
2006-Mar-03 15:30 UTC
[Rails] Best Practices question regarding views & controllers
I agree. If I have to do something more than once, it becomes a helper. On Fri, 2006-03-03 at 14:11 +0000, Kevin Olbrich wrote:> I tend to put code in views that only affects the display of the data > and which relates to the rendering of links, buttons, etc. > > I will frequently take ugly code and turn it into a helper or model > method just to keep things clean and reusable. > > _KevinCharlie Bowman http://www.recentrambles.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060303/7d076da9/attachment.html
Anthony Green
2006-Mar-03 15:40 UTC
[Rails] Re: Best Practices question regarding views & controllers
> Where do you usually draw the line? Is it okay to, say, loop through an > array of hashes that represents table column names and whether they need > a certain colspan and build the table according to that?That would be fine, if the table headers were hardcode into the view it wouldn''t. The way I understand it the view should contain as little ''control'' coding whilst still allowing for Agile development. So iterating through a hash/array is fine but filtering out elemnts on some basis isn''t - that should be done in the controller or model. I don''t think the Agile book is the best place to learn about these concepts. Tony Marstons written some easy intros to MVC. To progress beyond the basics I''d look at some of the threads on Sitepoint. _tony -- Posted via http://www.ruby-forum.com/.
Cody Skidmore
2006-Mar-03 15:45 UTC
[Rails] Re: Best Practices question regarding views & controllers
As a rule, code in the view should only concern itself with rendering the data. Think about the code and ask yourself what the purpose of the code is. If its point is to render the model, it should be fine putting it in the template. If it manipulates the model in any way, take it out. In MVC, the application stack''s visibility is downward only with each layer only knowing about the one immeadiately below it. Think about it this way: View | V Controller | V Model | V Data Store This might be a bit simplistic, but the idea is the view should not see the model or the data store. It should only see the controller. Furthermore, the none of the layers should see levels above them at all, making it strictly top-down visible. -- Posted via http://www.ruby-forum.com/.