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?

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

try page << "window.opener.location.reload"
instead

Fred

Thank you for your reply.

Frederick Cheung 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.

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

Frederick Cheung 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"?

Frederick Cheung 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"?

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 Cheung wrote: