0

我正在使用Rails 4與devise,warden,declarative authorization和omniauth。Rails 4,授權問題

當我運行rails服務器嘗試並測試我的初始設置時,我收到了所有初始頁面的錯誤消息。

當我輸入到本地主機:3000 - 我拿到寫着「無效的戰略some_external_strategy」的錯誤引導我到應用程序控制器的錯誤 - 用這種方法:

def set_current_user 
Authorization.current_user = current_user 
end 

我得到同樣的錯誤與每一個自動創建的視圖都是腳手架生成的一部分。

當我嘗試瀏覽到本地主機:3000 /首頁/指數,我得到一條錯誤:「無路由匹配[GET]‘/首頁/指數’

我的路線文件在以下第一行:

root :to => 'home#index' 

我有了在它下面的代碼home_controller.rb:

class HomeController < ApplicationController 

def index 

end 
end 

任何想法或意見,如何解決這個問題將是非常讚賞

非常感謝提前。

回答

0

根據我的理解,設計寶石更適合認證而不是授權。如果你想做用戶授權,我建議你去使用CanCan寶石,而不是使用設計。用於授權目的的高效寶石是簡單的&。

0

您是否修改config/initializers/devise.rb?當我取消註釋Warden配置部分時,我有同樣的錯誤,其中包括以下幾行:

config.warden do |manager| 
    manager.intercept_401 = false 
    manager.default_strategies(scope: :user).unshift :some_external_strategy 
end