2011-08-02 8 views
1

私のアプリケーションでtoken_authenticatableを使用したい(Deviseを使用)。RoutingError初期化されていない定数

thisを使用して、回答class Users::SessionsControllerをファイルapp/controllers/users_sessions_controller.rbに追加しました(ファイルの場所は正しいですか?)。

データベースでauthentication_tokenを生成するために、私は、行のcurrent_user.reset_authentication_token!を4行目のcreateメソッドとして追加しました。

devise docimentationの「コントローラの設定」セクションを使用して、私のルートにdevise_for :users, :controllers => {:sessions => "users/sessions"}という行を追加しました。

私はまたファイルapp/views/users/session/new.html.erbを持っています。

ブラウザにログインまたはログアウトしようとすると、Routing Error uninitialized constant Usersと表示されます。

何が起こるか分かりません。私はコントローラークラスを間違った名前にしたり、間違って配置したと思いますが、確かに分かりません。

答えて

3

あなたのコントローラーがUsers::SessionsController名付けたい場合、それはあなたがあなたのコントローラのネストされたフォルダをしたくない場合は、また

ルートで app/controllers/user_sessions_controller.rbに位置
class UserSessionsController 

を行うことができapp/controllers/users/sessions_controller.rb

にする必要がありますあり:devise_for :users, :controllers => {:sessions => "user_sessions"}

+0

まあまあ!私は昨日それを理解しましたが、あなたの答えは正しかったです。説明をありがとう:) – Mateusz

+0

2年後、あなたはちょうど私の夜を少し恐ろしくしました! :) – sebkkom

関連する問題