2012-05-23 87 views
0

我在一個視圖頁上有三個選項卡。其中一個選項卡是更新用戶帳戶的表單。由於這個頁面使用jQuery,所以無論何時刷新頁面,它都會返回到第一個活動選項卡,而不是當前選項卡。我通過將:remote=> true添加到此行代碼<%= semantic_form_for @user, :remote => true do |f| %>來解決此問題。這會更新表單而不會返回到第一個活動選項卡。rails flash notice not working with remote => true

問題是我有一個Flash通知沒有顯示出來。如果我刪除:remote => true那麼它工作正常,但它使我回到主要活動選項卡。

有什麼建議嗎?提前致謝。

JS在這裏切換標籤:

<script type="text/javascript"> 
$(document).ready(function() { 

$('.tabs a').click(function(){ 
    switch_tabs($(this)); 
}); 

switch_tabs($('.active')); 

}); 

function switch_tabs(obj) 
{ 
$('.tab-content').hide(); 
$('.tabs a').removeClass("active"); 
var id = obj.attr("rel"); 

$('#'+id).show(); 
obj.addClass("active"); 
} 
</script> 
+0

你在更新動作中呈現的是什麼 –

回答

0

那麼你這裏有2個獨立的問題:

  • 你JS代碼不上的click事件的切換。當您的網頁首次加載時,沒有任何點擊,因此它不會更改標籤頁。您需要指出哪個選項卡處於活動狀態。我通常在服務器端通過將active類添加到HTML元素,然後使用CSS來突出顯示/選擇它。

  • remote=>true將執行ajax調用,它會返回給你一些東西。通常返回的是xml或json,而不是HTML。我認爲你的情況是你正在返回包含Flash信息的HTML,但是由於你的頁面沒有刷新,你的瀏覽器不會顯示它。

+0

我如何在表單提交時將其提交回同一個選項卡? – noob

相關問題