On Fri, Jun 19, 2009 at 12:19 PM, Adam Hooper <[email protected]> wrote:
> > On Fri, Jun 19, 2009 at 11:44 AM, Nicholas Van > Weerdenburg<[email protected]> wrote: > > "I never use remote_form_for, since unobtrusive JS works even better" > > Why do you find that? I assume you without the block form helpers as well > in > > that case? > > I just use "form_for()" instead of "remote_form_for()". If I want to > use AJAX, I'll throw some jQuery into the page. Something like: > > function handle_success(data) { > // do whatever we want > } > > $('form.new_comment').submit(function(e) { > e.preventDefault(); > > var $form = $(this); > var url = $form.attr('action'); > var data = $form.serialize(); > > $.ajax({ > type: 'POST', > url: url, > data: data, > success: handle_success > }); > }); > > Benefits: > - No JavaScript in views > - No JavaScript in controllers > - Graceful degradation if JavaScript is disabled > - Easier to customize behavior (with remote_form_for(), you're > encouraged to only update certain elements) > - No 500-character-long remote_form_for() calls > - Better error handling ($.ajax() lets you define error handlers; I do > not know whether remote_form_for() does) > - Nicer HTML output > > My main beef with Rails's Prototype helpers (or their jRails > equivalents) is that they don't really open the world of JavaScript up > to you. When you define behavior explicitly, you suddenly have much > more control, customizations are easier, and, with the proper JS > architecture, you end up writing less code. More maintainable code. > More understandable code. Etc. > > But all of this has nothing to do with Haml, except that it lets you > avoid Haml's icky multi-line syntax in remote_form_for() calls, > because you can avoid remote_form_for() calls entirely. > > Adam > > -- > My Website: http://adamhooper.com > My Blog: http://adamhooper.com/blog > > > > Thanks. I'll keep that in mind if my pages get more complex. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Haml" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/haml?hl=en -~----------~----~----~----~------~----~------~--~---
