2011-12-01 48 views
1

我正在從View執行Ajax調用,然後控制器正在從數據庫中將數據提取到數組中,現在這個數組值需要傳遞給JavaScript,以便我可以更新表中的數據不同的ID的Rails使用控制器中的數組進行Javascript解析

控制器代碼:

def AjaxView 
@var1 = Var.find(:all,:conditions => { :varname=> "one" },:select=> (params[:col])) 
    respond_to do |format| 
    format.js 
    end 
end 

AjaxView.js.erb代碼:

$(document).ready(function() { 
    $("#test").text("valuetoupdate"); 
    }); 

現在,當我運行此代碼成功地更新 「valuetoupdate」 的ID =測試以v瀏覽頁面。 取而代之,我想從array @ var1中逐個更新所有值。

我搜索了更多,並意識到在Controller中生成的array @ var1將自動轉移到AjaxView.js.erb文件中。現在我要遍歷所有的值,但是這個代碼不JavaScript文件工作:

<% for var in @var1 %> 
$("#3").text(var); 
<% end %> 

它給空白響應

+0

您缺少'format.js'塊。此外,請發佈您的JavaScript到目前爲止,實際上是ajax調用。 –

+0

@Ben,我上面添加的javascript對我來說工作正常。 –

+0

是的,你發佈的JavaScript工作正常,但它不是一個Ajax調用。你的ajax調用的代碼在哪裏? –

回答

0

謝謝你們,

我能解決我的問題,在下面的方式, 我感動從循環執行了,而不是使用的if else條件開始,

<% if @var.to_s == 'valuetoupdate' %> 
    { } 
    <% elsif @var.to_s == 'valuetoupdate1' %> 
    {} 

它爲我工作的罰款。