RJS opener.reload()

Hello,

I have a problem with RJS.

I have a popup and by pressing a button within it I want to:

  1. close this popup, which functions fine with onClick in the view and
  2. reload the opener page of the popup after the called action in the
    controller is done.

I tried:

render :update do |page|
page.opener.location.reload()
end

in the controller, but this didn’t work.

Can anyone please help me?

On Jul 22, 10:46 am, “Indra M.” [email protected]
wrote:

I tried:

render :update do |page|
page.opener.location.reload()
end

You should look at the javascript this generates:
Opener.location().reload();

try page << “window.opener.location.reload”
instead

Fred

On Jul 22, 11:31 am, “Indra M.” [email protected]
wrote:

Doesn’t function, nothing happens.
If I don’t close the popup “onClick”

try {
window.opener.location.reload
} catch (e) { alert(‘RJS error:\n\n’ + e.toString());
alert(‘window.opener.location.reload’); throw e }

Well I left () of the end of that (ie should be reload()).
How are you calling the controller action. If you’re not making an
ajax request this will never work (and if you are, don’t use
the :update option)

Fred

Thank you for your reply.

Frederick C. wrote:

You should look at the javascript this generates:
Opener.location().reload();

try page << “window.opener.location.reload”
instead

render :update do |page|
page << “window.opener.location.reload”
end

Doesn’t function, nothing happens.
If I don’t close the popup “onClick”

try {
window.opener.location.reload
} catch (e) { alert(‘RJS error:\n\n’ + e.toString());
alert(‘window.opener.location.reload’); throw e }

is displayed in the popup window, instead of executing it.

Frederick C. wrote:

Well I left () of the end of that (ie should be reload()).

I appended (), too.

How are you calling the controller action. If you’re not making an
ajax request this will never work (and if you are, don’t use
the :update option)

Shame on me. I forgot the ajax request.
But what do you mean with “don’t use the :update option”?

On Jul 22, 12:15 pm, “Indra M.” [email protected]
wrote:

Shame on me. I forgot the ajax request.
But what do you mean with “don’t use the :update option”?

link_to_remote etc… can take an :update option (the id of a dom
element to update). You shouldn’t use this option at the same time as
rjs (since this disallows execution of the javascript, it will just be
dumped into the dom element.

Fred

Frederick C. wrote:

On Jul 22, 12:15�pm, “Indra M.” [email protected]
wrote:

Shame on me. I forgot the ajax request.
But what do you mean with “don’t use the :update option”?

link_to_remote etc… can take an :update option (the id of a dom
element to update). You shouldn’t use this option at the same time as
rjs (since this disallows execution of the javascript, it will just be
dumped into the dom element.

Ah ok. Everything works fine now!

Thank you for your great help, Robert!