Forum: Ruby on Rails page.update_html not executed

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Jean-Etienne (Guest)
on 2006-06-11 16:13
Hi,

when doing:
    render :update do |page|
      page.replace_html 'suggested_contractors', :partial =>
'contractors'
      page.visual_effect :highlight, 'suggested_contractors'
    end


I got js as output, it is not executed, return html *contains*:
try { Element.update("suggested_contractors", "
\n 12345678910\n
\n
"); new Effect.Highlight("suggested_contractors",{}); } catch (e) {
alert('RJS error:\n\n' + e.toString());
alert('Element.update(\"suggested_contractors\", \"
\n 12345678910\n
\n
\");\nnew Effect.Highlight(\"suggested_contractors\",{});'); throw e }

Any idea?

Thank you,
Jean-Etienne www.novAgora.hu
Tom M. (Guest)
on 2006-06-11 22:14
(Received via mailing list)
I'll bet the content-type isn't getting set correctly.

Are you setting it explicity in a filter somewhere,
accidentally overriding the correct value?

--
-- Tom M.
Guest (Guest)
on 2006-06-12 04:48
Or, you're linking to the call with a link_to instead of link_to_remote.
Been there, lost lots of hair.
Budi Irawan (Guest)
on 2006-06-12 10:34
(Received via mailing list)
oh..maybe you forgot to include

javascript_include_tag :defaults

in your layout
Martin G. (Guest)
on 2006-06-12 14:08
(Received via mailing list)
Be sure that you don't specify an update action twice, i.e. in an rjs
template and a link_to_remote. If you have a link_to_remote :update =>
"mydiv" , AND you have page.update_html "mydiv" .. in an rjs file ...
then this will happen! I hope I recall that correctly, but go looking
for such scenarios ,,,

cheers
Martin
Jean-Etienne (Guest)
on 2006-06-12 19:14
Martin G. wrote:
> Be sure that you don't specify an update action twice, i.e. in an rjs
> template and a link_to_remote. If you have a link_to_remote :update =>
> "mydiv" , AND you have page.update_html "mydiv" .. in an rjs file ...
> then this will happen! I hope I recall that correctly, but go looking
> for such scenarios ,,,
>
> cheers
> Martin

That was the problem.

Thank you
Jean-Etienne (Guest)
on 2006-06-14 12:33
Quote from RJS Templates for Rails:

"Don't Use the :update Option with RJS Calls
Never use the :update option when making remote calls to actions that
render
RJS templates. The :update option instructs Rails to generate an
Ajax.Updater Prototype object instead of an Ajax.Request object. The
Ajax.Updater updates a single DOM element with the contents of the
HTML response. RJS templates return JavaScript to the browser, which
must
be evaluated to produce the desired effects."
This topic is locked and can not be replied to.