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 -~----------~----~----~----~------~----~------~--~---