使用Rails 4.2並安裝了以下gem。爲什麼我不能使用Devise註銷用戶?
gem 'turbolinks'
gem 'jquery-ui-rails'
gem "devise_ldap_authenticatable"
從我可以告訴工作正常,但,當我點擊我的註銷鏈接的一切......
<%= link_to "Logout", destroy_user_session_path, method: :delete, :data => { :no_turbolink => true } %>
它正確地將用戶重定向回在生產上的登錄頁面,但如果我刷新sign_in頁面我發送回我的根頁面並顯示「您已經登錄」的通知消息。我對destroy_user_session_path動作包含以下內容:
# DELETE /resource/sign_out
def destroy
cookies.delete(:auth_token)
reset_session
super
end
當我做我的開發環境相同的步驟,一切工作正常,但在生產,我得到我上面所述的行爲。正如一些帖子所建議的那樣,我也嘗試過將銷燬方法從:delete
方法更改爲:get
(儘管這看起來很不正確),但這並不奏效。我還檢查了我的application.html.erb中有以下行:<%= csrf_meta_tags %>
- 它的確如此。終於在這裏的JavaScript的我(可能過於龐大)列表包括...
//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require jquery.turbolinks
//= require jquery.tokeninput
//= require jquery-ui/autocomplete
// for bootstrap 4 add tether below
//= require turbolinks
//= require nprogress
//= require nprogress-turbolinks
//= require nested_form_fields
//= require highcharts
//= require highcharts/highcharts-more
//= require highcharts/modules/exporting
//= require bootstrap-sprockets
//= require bootstrap-multiselect
//= require_tree .
如果我忘了什麼,請讓我知道,我會包括它。謝謝!
更新(新增破壞行動)
# DELETE /resource/sign_out
def destroy
cookies.delete(:auth_token)
reset_session
super
end
只是叫超級...讓設計爲你做,除非需要。 – Milind
@Milind,我叫超級,對不起,我沒有包括我的摧毀行動。正在更新... – daveomcd