rails flash notice没有使用remote =>真正

时间:2012-05-23 15:40:41

标签: jquery ruby-on-rails tabs

我在一个视图页面上有三个标签。其中一个选项卡是用于更新用户帐户的表单。由于此页面使用jquery,因此每当我刷新页面时,它都会返回到第一个活动选项卡而不是当前选项卡。我通过将:remote=> true添加到此代码行<%= semantic_form_for @user, :remote => true do |f| %>来解决此问题。这将更新表单而不返回第一个活动选项卡。

问题是我有一个没有出现的闪光通知。如果我删除了: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>

1 个答案:

答案 0 :(得分:0)

这里你有两个不同的问题:

  • 您的JS代码会切换点击事件。首页加载时,没有点击,因此不会更改标签。您需要以某种方式指示哪个选项卡处于活动状态。我通常在服务器端通过向HTML元素添加active类然后使用CSS突出显示/选择它来进行。

  • remote=>true将执行ajax调用,它会返回一些东西。通常返回xml或json而不是HTML。我认为在您的情况下,您将返回包含Flash消息的HTML,但由于您的页面未刷新,因此您的浏览器不会显示它。