When I use form helpers and there are errors on certain fields the field gets surrounded by <div>. Since I put each form field within <p> tags like this I get illegal markup: <p><label for="nickname">Nickname:</label> <%= text_field "user", "nickname", :maxlength => "25" %></p> which results in this after error: <p><label for="nickname">Nickname:</label> <div class="fieldWithErrors"><input id="user_nickname" maxlength="25" name="user[nickname]" size="25" type="text" value="" /></div></p> How can I prevent rails from putting in those divs? The renderers are putting in <br/> which are causing my layout to look all funny and I don''t like it :-) Thanks guys once again :-). Your Friend, John
I thought that was the case but in Firefox and validation it tells me that as long as div is in p a br will be added before the div. Which brakes my form. If I don''t remove divs I am going to have to change the way I make my forms :-(. On 26-May-05, at 11:04 AM, Ilya V. Sabanin wrote:> Use CSS and write style for ''fieldWithErrors'' - make it without > margins and paddings and you dont notice it anymore. > > John Baku wrote: > > >> When I use form helpers and there are errors on certain fields >> the field gets surrounded by <div>. Since I put each form field >> within <p> tags like this I get illegal markup: >> >> <p><label for="nickname">Nickname:</label> <%= text_field "user", >> "nickname", :maxlength => "25" %></p> >> >> which results in this after error: >> >> <p><label for="nickname">Nickname:</label> <div >> class="fieldWithErrors"><input id="user_nickname" maxlength="25" >> name="user[nickname]" size="25" type="text" value="" /></div></p> >> >> How can I prevent rails from putting in those divs? The >> renderers are putting in <br/> which are causing my layout to >> look all funny and I don''t like it :-) >> >> Thanks guys once again :-). >> >> Your Friend, >> >> John >> _______________________________________________ >> Rails mailing list >> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >> http://lists.rubyonrails.org/mailman/listinfo/rails >> >> > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
Yeah, that''s super frustrating. I assume you''re getting this because you''re using error_messages_for(''user'')? Instead, you might try using error_message_on for each user method. Like so, going by your example: <%= error_message_on ''user'', ''nickname'' %> <p><label for="nickname">Nickname:</label> <%= text_field "user", "nickname", :maxlength => "25" %></p> Etc. Not as easy as error_message_for, but cleaner resulting HTML. On 5/26/05, John Kopanas <john.kopanas-O1KSuMybMhqBUy7/sJONFg@public.gmane.org> wrote:> I thought that was the case but in Firefox and validation it tells me > that as long as div is in p a br will be added before the div. Which > brakes my form. If I don''t remove divs I am going to have to change > the way I make my forms :-(. > > On 26-May-05, at 11:04 AM, Ilya V. Sabanin wrote: > > > Use CSS and write style for ''fieldWithErrors'' - make it without > > margins and paddings and you dont notice it anymore. > > > > John Baku wrote: > > > > > >> When I use form helpers and there are errors on certain fields > >> the field gets surrounded by <div>. Since I put each form field > >> within <p> tags like this I get illegal markup: > >> > >> <p><label for="nickname">Nickname:</label> <%= text_field "user", > >> "nickname", :maxlength => "25" %></p> > >> > >> which results in this after error: > >> > >> <p><label for="nickname">Nickname:</label> <div > >> class="fieldWithErrors"><input id="user_nickname" maxlength="25" > >> name="user[nickname]" size="25" type="text" value="" /></div></p> > >> > >> How can I prevent rails from putting in those divs? The > >> renderers are putting in <br/> which are causing my layout to > >> look all funny and I don''t like it :-) > >> > >> Thanks guys once again :-). > >> > >> Your Friend, > >> > >> John > >> _______________________________________________ > >> Rails mailing list > >> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > >> http://lists.rubyonrails.org/mailman/listinfo/rails > >> > >> > > > > _______________________________________________ > > Rails mailing list > > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-- Chris Boone http://hypsometry.com/ : website edification http://uvlist.org/ : free classifieds for the Upper Valley
I did... does not work. On 26-May-05, at 11:20 AM, Ilya V. Sabanin wrote:> Try to use "display: inline;" for your div''s style! > > John Kopanas wrote: > > >> I thought that was the case but in Firefox and validation it tells >> me that as long as div is in p a br will be added before the >> div. Which brakes my form. If I don''t remove divs I am going to >> have to change the way I make my forms :-(. >> >> On 26-May-05, at 11:04 AM, Ilya V. Sabanin wrote: >> >> >>> Use CSS and write style for ''fieldWithErrors'' - make it without >>> margins and paddings and you dont notice it anymore. >>> >>> John Baku wrote: >>> >>> >>> >>>> When I use form helpers and there are errors on certain fields >>>> the field gets surrounded by <div>. Since I put each form >>>> field within <p> tags like this I get illegal markup: >>>> >>>> <p><label for="nickname">Nickname:</label> <%= text_field >>>> "user", "nickname", :maxlength => "25" %></p> >>>> >>>> which results in this after error: >>>> >>>> <p><label for="nickname">Nickname:</label> <div >>>> class="fieldWithErrors"><input id="user_nickname" >>>> maxlength="25" name="user[nickname]" size="25" type="text" >>>> value="" /></div></p> >>>> >>>> How can I prevent rails from putting in those divs? The >>>> renderers are putting in <br/> which are causing my layout to >>>> look all funny and I don''t like it :-) >>>> >>>> Thanks guys once again :-). >>>> >>>> Your Friend, >>>> >>>> John >>>> _______________________________________________ >>>> Rails mailing list >>>> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >>>> http://lists.rubyonrails.org/mailman/listinfo/rails >>>> >>>> >>>> >>> >>> _______________________________________________ >>> Rails mailing list >>> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >>> http://lists.rubyonrails.org/mailman/listinfo/rails >>> >>> >> >> _______________________________________________ >> Rails mailing list >> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >> http://lists.rubyonrails.org/mailman/listinfo/rails >> >> > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
Even if I don''t use error_messages_for, which I am not using, the divs pop up. I don''t think they divs just pop up when you use error_messages_for. Or are they not suppose to show up? On 26-May-05, at 10:31 AM, Chris Boone wrote:> Yeah, that''s super frustrating. > > I assume you''re getting this because you''re using error_messages_for > (''user'')? > > Instead, you might try using error_message_on for each user method. > Like so, going by your example: > > <%= error_message_on ''user'', ''nickname'' %> > <p><label for="nickname">Nickname:</label> <%= text_field "user", > "nickname", :maxlength => "25" %></p> > > Etc. > > Not as easy as error_message_for, but cleaner resulting HTML. > > On 5/26/05, John Kopanas <john.kopanas-O1KSuMybMhqBUy7/sJONFg@public.gmane.org> wrote: > >> I thought that was the case but in Firefox and validation it tells me >> that as long as div is in p a br will be added before the div. Which >> brakes my form. If I don''t remove divs I am going to have to change >> the way I make my forms :-(. >> >> On 26-May-05, at 11:04 AM, Ilya V. Sabanin wrote: >> >> >>> Use CSS and write style for ''fieldWithErrors'' - make it without >>> margins and paddings and you dont notice it anymore. >>> >>> John Baku wrote: >>> >>> >>> >>>> When I use form helpers and there are errors on certain fields >>>> the field gets surrounded by <div>. Since I put each form field >>>> within <p> tags like this I get illegal markup: >>>> >>>> <p><label for="nickname">Nickname:</label> <%= text_field "user", >>>> "nickname", :maxlength => "25" %></p> >>>> >>>> which results in this after error: >>>> >>>> <p><label for="nickname">Nickname:</label> <div >>>> class="fieldWithErrors"><input id="user_nickname" maxlength="25" >>>> name="user[nickname]" size="25" type="text" value="" /></div></p> >>>> >>>> How can I prevent rails from putting in those divs? The >>>> renderers are putting in <br/> which are causing my layout to >>>> look all funny and I don''t like it :-) >>>> >>>> Thanks guys once again :-). >>>> >>>> Your Friend, >>>> >>>> John >>>> _______________________________________________ >>>> Rails mailing list >>>> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >>>> http://lists.rubyonrails.org/mailman/listinfo/rails >>>> >>>> >>>> >>> >>> _______________________________________________ >>> Rails mailing list >>> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >>> http://lists.rubyonrails.org/mailman/listinfo/rails >>> >>> >> >> _______________________________________________ >> Rails mailing list >> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >> http://lists.rubyonrails.org/mailman/listinfo/rails >> >> > > > -- > Chris Boone > > http://hypsometry.com/ : website edification > http://uvlist.org/ : free classifieds for the Upper Valley > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
Use CSS and write style for ''fieldWithErrors'' - make it without margins and paddings and you dont notice it anymore. John Baku wrote:> When I use form helpers and there are errors on certain fields the > field gets surrounded by <div>. Since I put each form field within > <p> tags like this I get illegal markup: > > <p><label for="nickname">Nickname:</label> <%= text_field "user", > "nickname", :maxlength => "25" %></p> > > which results in this after error: > > <p><label for="nickname">Nickname:</label> <div > class="fieldWithErrors"><input id="user_nickname" maxlength="25" > name="user[nickname]" size="25" type="text" value="" /></div></p> > > How can I prevent rails from putting in those divs? The renderers > are putting in <br/> which are causing my layout to look all funny > and I don''t like it :-) > > Thanks guys once again :-). > > Your Friend, > > John > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
Ohhh... my mistake. I knew it had something to do with using a little less Rails magic, but I fumbled which bit of magic. :) So: instead of using text_field, use text_field_tag. You''ll have to be more explicit about what''s going on, but that''ll keep Rails from automatically adding the divs. On 5/26/05, John Kopanas <john.kopanas-O1KSuMybMhqBUy7/sJONFg@public.gmane.org> wrote:> Even if I don''t use error_messages_for, which I am not using, the > divs pop up. I don''t think they divs just pop up when you use > error_messages_for. Or are they not suppose to show up? > > On 26-May-05, at 10:31 AM, Chris Boone wrote: > > > Yeah, that''s super frustrating. > > > > I assume you''re getting this because you''re using error_messages_for > > (''user'')? > > > > Instead, you might try using error_message_on for each user method. > > Like so, going by your example: > > > > <%= error_message_on ''user'', ''nickname'' %> > > <p><label for="nickname">Nickname:</label> <%= text_field "user", > > "nickname", :maxlength => "25" %></p> > > > > Etc. > > > > Not as easy as error_message_for, but cleaner resulting HTML. > > > > On 5/26/05, John Kopanas <john.kopanas-O1KSuMybMhqBUy7/sJONFg@public.gmane.org> wrote: > > > >> I thought that was the case but in Firefox and validation it tells me > >> that as long as div is in p a br will be added before the div. Which > >> brakes my form. If I don''t remove divs I am going to have to change > >> the way I make my forms :-(. > >> > >> On 26-May-05, at 11:04 AM, Ilya V. Sabanin wrote: > >> > >> > >>> Use CSS and write style for ''fieldWithErrors'' - make it without > >>> margins and paddings and you dont notice it anymore. > >>> > >>> John Baku wrote: > >>> > >>> > >>> > >>>> When I use form helpers and there are errors on certain fields > >>>> the field gets surrounded by <div>. Since I put each form field > >>>> within <p> tags like this I get illegal markup: > >>>> > >>>> <p><label for="nickname">Nickname:</label> <%= text_field "user", > >>>> "nickname", :maxlength => "25" %></p> > >>>> > >>>> which results in this after error: > >>>> > >>>> <p><label for="nickname">Nickname:</label> <div > >>>> class="fieldWithErrors"><input id="user_nickname" maxlength="25" > >>>> name="user[nickname]" size="25" type="text" value="" /></div></p> > >>>> > >>>> How can I prevent rails from putting in those divs? The > >>>> renderers are putting in <br/> which are causing my layout to > >>>> look all funny and I don''t like it :-) > >>>> > >>>> Thanks guys once again :-). > >>>> > >>>> Your Friend, > >>>> > >>>> John > >>>> _______________________________________________ > >>>> Rails mailing list > >>>> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > >>>> http://lists.rubyonrails.org/mailman/listinfo/rails > >>>> > >>>> > >>>> > >>> > >>> _______________________________________________ > >>> Rails mailing list > >>> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > >>> http://lists.rubyonrails.org/mailman/listinfo/rails > >>> > >>> > >> > >> _______________________________________________ > >> Rails mailing list > >> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > >> http://lists.rubyonrails.org/mailman/listinfo/rails > >> > >> > > > > > > -- > > Chris Boone > > > > http://hypsometry.com/ : website edification > > http://uvlist.org/ : free classifieds for the Upper Valley > > _______________________________________________ > > Rails mailing list > > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > > >-- Chris Boone http://hypsometry.com/ : website edification http://uvlist.org/ : free classifieds for the Upper Valley
Try to use "display: inline;" for your div''s style! John Kopanas wrote:> I thought that was the case but in Firefox and validation it tells me > that as long as div is in p a br will be added before the div. Which > brakes my form. If I don''t remove divs I am going to have to change > the way I make my forms :-(. > > On 26-May-05, at 11:04 AM, Ilya V. Sabanin wrote: > >> Use CSS and write style for ''fieldWithErrors'' - make it without >> margins and paddings and you dont notice it anymore. >> >> John Baku wrote: >> >> >>> When I use form helpers and there are errors on certain fields the >>> field gets surrounded by <div>. Since I put each form field >>> within <p> tags like this I get illegal markup: >>> >>> <p><label for="nickname">Nickname:</label> <%= text_field "user", >>> "nickname", :maxlength => "25" %></p> >>> >>> which results in this after error: >>> >>> <p><label for="nickname">Nickname:</label> <div >>> class="fieldWithErrors"><input id="user_nickname" maxlength="25" >>> name="user[nickname]" size="25" type="text" value="" /></div></p> >>> >>> How can I prevent rails from putting in those divs? The renderers >>> are putting in <br/> which are causing my layout to look all funny >>> and I don''t like it :-) >>> >>> Thanks guys once again :-). >>> >>> Your Friend, >>> >>> John >>> _______________________________________________ >>> Rails mailing list >>> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >>> http://lists.rubyonrails.org/mailman/listinfo/rails >>> >>> >> >> _______________________________________________ >> Rails mailing list >> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >> http://lists.rubyonrails.org/mailman/listinfo/rails >> > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
On May 26, 2005, at 2:24 AM, rails-request-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org wrote:> Message: 6 > Date: Thu, 26 May 2005 10:49:44 -0400 > From: John Kopanas <john.kopanas-O1KSuMybMhqBUy7/sJONFg@public.gmane.org> > Subject: Re: [Rails] FormHelper And Error Divs > To: Chris Boone <hypsometry-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > Message-ID: <B6AD4F99-89FF-4EDA-B63D-B72A8C28E7A0-O1KSuMybMhqBUy7/sJONFg@public.gmane.org> > Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed > > Even if I don''t use error_messages_for, which I am not using, the > divs pop up. I don''t think they divs just pop up when you use > error_messages_for. Or are they not suppose to show up?To get rid of the div''s you need to include this in a file you require for your renderers (I put it in app/helpers/applcation_helper.rb. The alias hides the default implementation in active_record_helper.rb: # override the default error_wrapping provided in # action_view/helpers/active_record_helper.rb module ActionView module Helpers class InstanceTag alias_method :old_error_wrappinng, :error_wrapping def error_wrapping(html_tag, has_error) html_tag end end end end Then I override the error_messages_for method in my ApplicationHelper class. Instead of the divs, I make sure that every field has a label tag associated with it, and add a method to set the class name for my label tags: def label_css_class(object_name, method_name) object = @template_object.instance_variable_get "@#{@object_name}" (object.errors.on(method_name) ? ''error'' : ''label'') end def label_tag(object_name, method_name, text) %{<label class="#{label_css_class(object_name, method_name)}" for="#{object_name}_#{method_name}">#{text}</label>} end No divs! Then in CSS I can set up different colors or other renderings for .label and .error classes. Peter Zingg
That is great... it worked! On 26-May-05, at 12:03 PM, Peter Zingg wrote:> > On May 26, 2005, at 2:24 AM, rails-request-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > wrote: > > >> Message: 6 >> Date: Thu, 26 May 2005 10:49:44 -0400 >> From: John Kopanas <john.kopanas-O1KSuMybMhqBUy7/sJONFg@public.gmane.org> >> Subject: Re: [Rails] FormHelper And Error Divs >> To: Chris Boone <hypsometry-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >> Message-ID: <B6AD4F99-89FF-4EDA-B63D-B72A8C28E7A0-O1KSuMybMhqBUy7/sJONFg@public.gmane.org> >> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed >> >> Even if I don''t use error_messages_for, which I am not using, the >> divs pop up. I don''t think they divs just pop up when you use >> error_messages_for. Or are they not suppose to show up? >> > > To get rid of the div''s you need to include this in a file you > require for your renderers (I put it in > app/helpers/applcation_helper.rb. The alias hides the default > implementation in active_record_helper.rb: > > # override the default error_wrapping provided in > # action_view/helpers/active_record_helper.rb > module ActionView > module Helpers > class InstanceTag > alias_method :old_error_wrappinng, :error_wrapping > > def error_wrapping(html_tag, has_error) > html_tag > end > end > end > end > > Then I override the error_messages_for method in my > ApplicationHelper class. Instead of the divs, I make sure that > every field has a label tag associated with it, and add a method to > set the class name for my label tags: > > def label_css_class(object_name, method_name) > object = @template_object.instance_variable_get "@# > {@object_name}" > (object.errors.on(method_name) ? ''error'' : ''label'') > end > > def label_tag(object_name, method_name, text) > %{<label class="#{label_css_class(object_name, > method_name)}" for="#{object_name}_#{method_name}">#{text}</label>} > end > > No divs! Then in CSS I can set up different colors or other > renderings for .label and .error classes. > > Peter Zingg > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
This does not always work as intended in some browsers, Firefox I know for a fact, if that div-element resides within an inline element, such as p, even if you set display to inline. The wrapping (or not) of the tag in a div really should be configurable, imho. Regards, Tomas On 5/26/05, Ilya V. Sabanin <ilya.sabanin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Try to use "display: inline;" for your div''s style! > > John Kopanas wrote: > > > I thought that was the case but in Firefox and validation it tells me > > that as long as div is in p a br will be added before the div. Which > > brakes my form. If I don''t remove divs I am going to have to change > > the way I make my forms :-(. > > > > On 26-May-05, at 11:04 AM, Ilya V. Sabanin wrote: > > > >> Use CSS and write style for ''fieldWithErrors'' - make it without > >> margins and paddings and you dont notice it anymore. > >> > >> John Baku wrote: > >> > >> > >>> When I use form helpers and there are errors on certain fields the > >>> field gets surrounded by <div>. Since I put each form field > >>> within <p> tags like this I get illegal markup: > >>> > >>> <p><label for="nickname">Nickname:</label> <%= text_field "user", > >>> "nickname", :maxlength => "25" %></p> > >>> > >>> which results in this after error: > >>> > >>> <p><label for="nickname">Nickname:</label> <div > >>> class="fieldWithErrors"><input id="user_nickname" maxlength="25" > >>> name="user[nickname]" size="25" type="text" value="" /></div></p> > >>> > >>> How can I prevent rails from putting in those divs? The renderers > >>> are putting in <br/> which are causing my layout to look all funny > >>> and I don''t like it :-) > >>> > >>> Thanks guys once again :-). > >>> > >>> Your Friend, > >>> > >>> John > >>> _______________________________________________ > >>> Rails mailing list > >>> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > >>> http://lists.rubyonrails.org/mailman/listinfo/rails > >>> > >>> > >> > >> _______________________________________________ > >> Rails mailing list > >> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > >> http://lists.rubyonrails.org/mailman/listinfo/rails > >> > > > > _______________________________________________ > > Rails mailing list > > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
> No divs! Then in CSS I can set up different colors or other > renderings for .label and .error classes. > > Peter ZinggThanks for sharing your solution! I''ve wondered about alternatives like this before. Duane Johnson (canadaduane) _______________________________________________ Rails mailing list Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org http://lists.rubyonrails.org/mailman/listinfo/rails
Tomas Jogin wrote:>This does not always work as intended in some browsers, Firefox I know >for a fact, if that div-element resides within an inline element, such >as p, even if you set display to inline. > >The wrapping (or not) of the tag in a div really should be configurable, imho. > >Not only that - error messages and all that stuff should to be configurable too, since presently overriding methods or constants or class variables seems more like a dirty hack to me. But: I''m not really complaining, I''ve been having lots of fun with Rails in its present state -- in my PHP coding days (4 years now), I always longed for something that "solved the website problem" easily and effectively. With Rails I find myself thinking about the design of the application, not the implementation & code, and that''s a good thing. Umm, enough praise, back to work ;) Rob