それで、私はかなり単純な Rails 4 アプリに取り組んできましたが、ユーザー認証を追加する必要があるところまで来ました。特に、devise と omniauth を組み合わせて Google Apps (および Google Apps のみ) 認証を使用したいと考えています。現在、devise には、そのようなものを設定する方法を教えてくれると思われるチュートリアルがあります。デバイスをインストールし、チュートリアルで提案された変更を行った後、すべてが素晴らしいように見えました. サインイン リンクをクリックすると、認証のために Google に適切に送信されました。ただし、資格情報を提供した後、すぐにルーティング エラーが表示されます。
uninitialized constant Users
これは紛らわしいです。私が理解していることから、それはコントローラーが欠落していることを意味します...しかし、私は間違いなく持ってusers_controller.rb
おり、あるべき場所にあります。それがなければ、私には手がかりがありません。
ここに私route.rb
の参照があります:
resources :instances, :users
devise_for :users, :controllers => { :omniauth_callbacks => 'users/omniauth_callbacks' }
# authentication routes
devise_scope :user do
get 'sign_in', :to => 'devise/sessions#new', :as => :new_user_session
get 'sign_out', :to => 'devise/sessions#destroy', :as => :destroy_user_session
end
root to: 'instances#index'
そして、ここにの結果がありrake routes
ます:
Prefix Verb URI Pattern Controller#Action
instances GET /instances(.:format) instances#index
POST /instances(.:format) instances#create
new_instance GET /instances/new(.:format) instances#new
edit_instance GET /instances/:id/edit(.:format) instances#edit
instance GET /instances/:id(.:format) instances#show
PATCH /instances/:id(.:format) instances#update
PUT /instances/:id(.:format) instances#update
DELETE /instances/:id(.:format) instances#destroy
users GET /users(.:format) users#index
POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
PATCH /users/:id(.:format) users#update
PUT /users/:id(.:format) users#update
DELETE /users/:id(.:format) users#destroy
user_omniauth_authorize GET|POST /users/auth/:provider(.:format) users/omniauth_callbacks#passthru {:provider=>/google_apps/}
user_omniauth_callback GET|POST /users/auth/:action/callback(.:format) users/omniauth_callbacks#(?-mix:google_apps)
new_user_session GET /sign_in(.:format) devise/sessions#new
destroy_user_session GET /sign_out(.:format) devise/sessions#destroy
root GET / instances#index
また、Rails 4 と devise 3.0.0.rc を実行していることにも注意してください (Rails 4 と互換性があるため)。
他に必要なものがあれば教えてください。関連するものはほとんどすべてチュートリアルにあります。