Forum: Ruby on Rails Ajax

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.
6f4989f18fb2315d4b1db15cccb29ecf?d=identicon&s=25 Mick (Guest)
on 2007-04-02 19:21
Hi guys,

I've got a little problem relating to Ajax and Rails, namely updating
multiple divs!

I have created a message inbox for a system I've developed, and when a
user clicks on a message, I want the number of read messages to decrease
by one (this is displayed in 2 divs in separate locations on the page),
and I don't think the :update => 'mydiv' in 'link_to_remote' can cope
with more than one div,

I have looked at the example in the pick-axe (Chapter 18, page 403-404)
but it doesn't seem to make much sense!

Any help is appreciated!

Cheers, Mick
Aa9467ff6b698dce20d0d7252e5a268f?d=identicon&s=25 Joram (Guest)
on 2007-04-02 19:41
(Received via mailing list)
If you want to update more than one div, rjs is the best way to go.

For example

def some_method
 //some stuff
    render :update do |page|
      page.replace_html 'div1', :partial => 'partial1'
      page.replace_html 'div2, :partial => 'partial2'
    end
end

Or you can put these calls in a rjs file (which has precedence over
a .rhtml file).


Greetz,

Joram
83ca41657a99b65d99889abe712ba5e2?d=identicon&s=25 Jason Roelofs (Guest)
on 2007-04-02 19:42
(Received via mailing list)
If you have access to Agile with Rails v. 2, it has a good tutorial on
what's called RJS templates. Basically, you use Ruby to write out
javascript
that gets executed on the client (the {executeScripts: true} of
Prototype).

Some info is also available on the api page:
http://api.rubyonrails.org/classes/ActionView/Help...

You can write RJS in your controller or as a partial

_partial_name.rjs

Note: if you do this, you must not use :update, or the resulting
javascript
will be printed to the page.

Jason
2b891e820c238ded365d035771603f21?d=identicon&s=25 Bill Walton (Guest)
on 2007-04-02 19:49
(Received via mailing list)
Hi Mick,

Mick wrote:
> I've got a little problem relating to Ajax and Rails,
> namely updating multiple divs!

Joram is correct.  You want to use RJS.  And you are correct.  The
:update
will not update more than one element.

I highly recommend Cody Fauser's RJS Tutorial on O'Reilly.  It's a $10
PDF
that's well worth the money and will have you productive and feeling
comfortable in a couple of hours.

Best regards,
Bill
6f4989f18fb2315d4b1db15cccb29ecf?d=identicon&s=25 Mick (Guest)
on 2007-04-02 21:57
Thanks everyone, you've all been more than helpful,

cheers

Mick
This topic is locked and can not be replied to.