2011-02-11 36 views
0

嘿,夥計們,讓我意識到這可能是一個有點令人費解,但這裏是我的代碼看起來像,和我想要做的事:這裏將1添加到實例變量中,即通過JQuery呈現的部分實例變量。 Rails3中

#new.html.erb 

<% @tag_counter = 0 %> 

Javascript代碼,上面寫着,當特定的按鈕被點擊,部分_tag.html.erb附加到一個div下面

#_tag.html.erb 

<div id="tag-id-<%= @tag_counter %>">Div here</div> 
<% @tag_counter = @tag_counter+1 %> 

所以我遇到的問題是,@tag_counter值沒有改變。它的剩餘值爲0,並且每個附加的div都具有相同的ID。任何想法我如何能做到這一點?

回答

0

每個_tag.html.erb都是由一個新的HTTP請求呈現的,並且將具有與所有其他調用無關的所有變量。另請注意,除了回調明確提供的內容外,您的Ruby代碼無法訪問該頁面,因此您無法檢查頁面上已有的內容。

請求中包括一個計數器(來自JavaScript),將其設置在事實之後(也來自JavaScript)或創建隨機ID。

0

我做了類似的事情,雖然這可能不是您要找的答案。

當有人在我的應用程序中投票時,我通過AJAX觸發了信號。

$(".vote_link").live("click", function(){ 
    $.ajax({type: "GET", url: $(this).attr("href"), dataType: "script"}); 
    return false; 
}); 

這將加載針對一個js文件,該文件說,這一個href:

== $(".event_#{@event.id}_score").html("#{ escape_javascript(@event.score.to_s)}"); 

本次活動是由它的唯一的ID針對性與同級車和jQuery手柄換掉只是數量,而不是加載一個完整的部分,就像我相信你正在嘗試做的那樣。