0

次のようなエラーが発生しました:

uninitialized constant Mobile::OmniauthCallbacksController

これはroutes.rbの問題のようです。名前空間を機能させるには、正確に何を追加する必要がありますか?

ルートスコープは次のとおりです。

  scope :module => :mobile, :as => :mobile do
    constraints(:subdomain => /m/) do
      devise_for :users, :path => "", :path_names =>
               { :sign_in => "login", :sign_out => "logout",
                 :sign_up => "signup" },
                 :controllers => {:sessions => "mobile/sessions" , :passwords => "mobile/passwords" , :confirmations => "mobile/confirmations" , :registrations => "mobile/registrations"}

      get "/home" => "home#index" , :as => "home"

    end
  end

ルート.rbファイルの他の場所には、次のようなスニペットがあります。

  devise_scope :user do
    get "auth/:provider" => "users/omniauth_callbacks#passthru"
  end

しかし、私が作業している名前空間内でそれを機能させる方法がわかりません。何かアイデアはありますか?

ありがとう!

4

1 に答える 1

1

問題は、コントローラーにこれらの値を使用することにあると思います。

 {:sessions => "mobile/sessions" , 
  :passwords => "mobile/passwords" , 
  :confirmations => "mobile/confirmations" , 
  :registrations => "mobile/registrations"
}

コードがこれらのコントローラーに入り込みOmniauthCallbacksController、 のスコープ内からロードしようとしているようですMobile

于 2012-05-07T21:57:17.927 に答える