Problems with calling javascript containing dynamic content in partial page

Hi all,

I am trying to call some javascript function defined in partial page
“_results.html.erb”. But it seemed that the js functions in the page
are unrecognizable, and I have no idea why.

In my app, I have an “index” action/view containing an form_remote_tag
sending the ajax request to a “process” action. After some calculation
in the “process” action, it passes a local variable to a result page
and renders it partially. Briefly, the index.html.erb looks like:

index.html.erb

<% form_remote_tag :url => ‘process’,
:id => ‘inputs’,
:update => {:success => ‘result_div’, :failure =>
‘document.write(request.responseText)’} do -%>

some input tags here

<%= submit_tag “calculate” %>
<% end -%>

In controller#index, there is nothing. In controller#process, there is
the calculation code which will cost several seconds, after that it is
the render method:

def process

calculation code which will generate a result - @ruby_result -

which is an ruby object
render :partial => ‘results’, :locals => {:ruby_result =>
@ruby_result}
end

And in _results.html.erb:

show result

The update of the result_div is totally ok, but when I click on the
“show result”, nothing happened. I tried putting the showResult()
function in the index.html.erb. Then it can be found by the
_results.html.erb. However the problem is that the ruby_result can
only be got after the process. As a result, it’s not accessible in the
index view when it is initially loaded. How should I solve this
problem?

I am not sure if I have expressed my question clearly. Any reply or
comment is welcome.

Thanks!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs