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 -%>
<div id = 'result_div'></div>

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:

<a href = "javascript:showResult()">show result</a>
<script type="text/javascript">
  function showResult()
  {
     // code to show the result somewhere else on the index page
     // BUT I MUST use the <%=ruby_result%> variable here
  }
</script>

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!

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to