Arthur Chan
2008-Dec-18 04:33 UTC
Override helper (observe_field) and put JS at the bottom
Is it possible to override a helper function and put its javascripts at the bottom (using yield)? I tried the follows in helper: <code> # override observe field to put js at the bottom def observe_field(field_id, options = {}) if @layout_options content_for :after_js do super(field_id, options ) end else super end end </code> In view <code> <%=yield :after_js%> </code> But it seems not working. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Arthur Chan
2008-Dec-18 04:43 UTC
Re: Override helper (observe_field) and put JS at the bottom
Arthur Chan wrote:> Is it possible to override a helper function and put its javascripts at > the bottom (using yield)? > > I tried the follows in helper: > <code> > # override observe field to put js at the bottom > def observe_field(field_id, options = {}) > if @layout_options > content_for :after_js do > super(field_id, options ) > end > else > super > end > end > > </code> > > In view > > <code> > <%=yield :after_js%> > </code> > > But it seems not working.Oops, I found the problem. I should not return anything when I put things into content_for, so <code> def observe_field(field_id, options = {}) #super #return if @layout_options content_for :after_js_ready do super(field_id, options ) end return "" # ****** don''t return immediate results**** else super end end </code> Cool! I am getting A in yslow now :D -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---