2015-03-13 47 views
1

當turbolinks關閉,如:turbolinks不會改變重定向URL時,未經認證的

//= require jquery 
//= require jquery_ujs 
//= require_tree . 

未經驗證的用戶試圖訪問的URL,例如/themes/new,這是保護的authenticate_user!設計寶石。 然後他通常會被重定向到/sign_in

但是當turbolinks,如:

//= require jquery 
//= require jquery_ujs 
//= require turbolinks 
//= require_tree . 

如果用戶試圖訪問/themes/new,他看到同樣的畫面/sign_in。但網址是/themes/new

爲什麼會發生這種變化?

我使用pry-byebug來讀取代碼。但對我來說太複雜了。

的Rails 4.2.0 色器件3.4.1

回答

1

這是一個known issue,並且多少有些目標限制。

您可以adjust the url manually,但在這種情況下,可能需要大量重寫gem方法才能使用適當的選項。它也會強制一個「真正的」重定向,這會變慢。

我認爲一個更好的解決方案是重新設計您的登錄界面,使其不需要重定向到單獨的頁面。也許它可以在模式窗口中打開對話框,成爲主導航的一部分,從程式化容器中的主導航下拉等等。這會給你一點額外的視覺效果,同時完全避免這個問題。

+0

對不起,延遲迴復。感謝你,我明白問題的原因。這是turbolinks的限制。所以我決定不使用turbolinks。 – tarky 2015-03-16 03:01:26