Problem with render :partial ... :collection


#1

Hello,

I 'm currently developing a fully ajaxified Portal with RoR for a
client.

In the page, i have an In Place Editing Area :
Clicking on the area (div), replace it with a content coming from a
Partial (i’ve extended the component InPlaceEditor from controls.js
for this)…This first Partial is called A

In this partial A.rhtml, i render a second ‘inner’ partial as :
render :partial=> ‘display_row’, :collection=>@my_collection

My ‘display_row’ inner partial includes the following code :

blah blah
blah blah

But when testing in the browser, and checking generated code with
Firebug, i do not see any node in my HTML page…seems to
have been skipped

This same ‘display_row’ inner partial is reused directly from RJS (in
the controller) :
render :update do |page|
page.insert_html :bottom, “container”, :partial => “display_row”
end

In this second case it works…i can see the node in the
generated HTML

Are there limitations with partials rendered from another partial?

Thanks

Laurent


#2

When rendering through partials, tags are stripped out of the
resulting source and the javascript inside said tags is executed (unless
of
course evalScripts is set to false, default is obviously true).

I wouldn’t worry about it too much, though do make note that if you are
trying to define a javascript function in a partial’s script tags, it
most
likely won’t work (at least, I haven’t figured out how). So in this case
you
need to define the function in the initial page HTML, or in javascript
includes.

Jason


#3

Jason,

I suppose doing a Ruby helper on top of my Javascript won’t help
In any case, the generated tag will be stripped out

Laurent