AJAX tabs cannot pass instance variable to partial

I have been trying to understand what Flinn said in http://www.actsasflinn.com/Ajax_Tabs/index.html#

{{Problem }}

I don't understand how to pass the instance variable to the partial. in the main html "url_for(:action => 'test')" does not seem to pass the instance @test to the partial. output is ###.

{{CODE}} {{in main html.erb}} <ul class="tabselector" id="tabcontrol1">   <li class="tab-selected" id="vendor_tab">     <%= link_to_function('Vendor', "loadPane($('part_pane'), '" + url_for(:action => 'test') + "'),tabselect($('vendor_tab')); paneselect($('vendor_pane'))") %></li>

</ul>

<ul class="panes" id="panecontrol1">   <li id="vendor_pane" class="pane-selected"> <%= render :partial => 'test', :object => @groceries %>     <div id="ss"></div>   </li>

<ul>

{{CONTROLLER}}

       def test     @test = "3"

    respond_to do |format|     format.html     format.js {             render :update do |page|           page.replace_html 'ss', :partial => 'test'         end       } format.xml { render :xml => @test.to_xml }

    end     end

{{partial}}

test is <%= @test%>

{{JS library}} function tabselect(tab) {   var tablist = $('tabcontrol1').getElementsByTagName('li');   var nodes = $A(tablist);   var lClassType = tab.className.substring(0, tab.className.indexOf('-') );

  nodes.each(function(node){     if (node.id == tab.id) {       tab.className=lClassType+'-selected';     } else {       node.className=lClassType+'-unselected';     };   }); }

function paneselect(pane) {   var panelist = $('panecontrol1').getElementsByTagName('li');   var nodes = $A(panelist);

  nodes.each(function(node){     if (node.id == pane.id) {       pane.className='pane-selected';     } else {       node.className='pane-unselected';     };   }); }

function loadPane(pane, src) {   if (pane.innerHTML=='' || pane.innerHTML=='<img alt="Wait" src="/ images/spinner.gif" style="vertical-align:-3px" /> Loading...') {     reloadPane(pane, src);   } }

function reloadPane(pane, src) {   new Ajax.Updater(pane, src, {asynchronous:1, evalScripts:true, onLoading:function(request){pane.innerHTML='<img alt="Wait" src="/ images/spinner.gif" style="vertical-align:-3px" /> Loading...'}}) }

{{test.js.rjs}}

page.replace_html("ss", :partial => "test", :object => @test)

I have been trying to understand what Flinn said in http://www.actsasflinn.com/Ajax_Tabs/index.html#

{{Problem }}

I don't understand how to pass the instance variable to the partial. in the main html "url_for(:action => 'test')" does not seem to pass the instance @test to the partial. output is ###.

Are you expecting the value of @test at the point that main.html.erb to be preserved until when your ajax request is handled ?

Fred

no i got desperate and was just trying to any tactic i knew to get the instance to the partial. i am trying to push the value from the controller to the partial. basically the @test = 3.

btw if u guys know of an easier ajax tab method please tell me as well