如何在特定页面上将重定向更改为特定的Twitter Bootstrap 标签?类似的东西:
def destroy
@custom_article = CustomArticle.find(params[:id])
@custom_article.destroy
respond_to do |format|
format.html { redirect_to documents_url[#specific_tab_here?] }
format.json { head :no_content }
end
end
谢谢!
更新
请参阅@ PeterWong和@ emm的答案,以获得解决方案。
答案 0 :(得分:6)
这一点JS为我解决了这个问题:
$(function(){
var hash = window.location.hash;
hash && $('ul.nav a[href="' + hash + '"]').tab('show');
});
对于turbolinks它做了一些有点奇怪的事情,但由于这都是基于重定向的,所以不是问题。
答案 1 :(得分:3)
在您的控制器中:
def destroy
redirect_to documents_url(tab: "specific_tab")
end
DocumentsController:
class DocumentsController < ApplicationController
def index
@tab = params[:tab]
end
end
在html中:
<div class="tab-pane <%= @tab == "specific_tab" ? "active" : "" %>">
答案 2 :(得分:2)
这个怎么样?
redirect_to "#{documents_url}#specific_tab"
答案 3 :(得分:1)
对@emm解决方案的一个小调整,使用代码来使用turbolinks:
var ready;
ready = function() {
var hash = window.location.hash;
hash && $('ul.nav a[href="' + hash + '"]').tab('show');
};
$(document).ready(ready);
$(document).on('page:load', ready);