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.

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 :smiley: