私はレールアプリケーションに取り組んでおり、本に応じて簡単なログインシステムを追加しました。ルートは存在しますが、ログイン試行後に一致するルートはありませんか?
私は、コントローラの管理者を作成: レールはコントローラの管理ログインログアウトインデックス
を生成それは私がで問題がないhttp://localhost:3000/admin/loginに着くことができ
get "admin/login"
get "admin/logout"
get "admin/index"
- をroutes.dbするには、以下のルートを追加しましたすべて。
- ログインしようとすると、「/ admin/login」に一致するルートはありません!
ここで最初の混乱する部分は、私のAdminControllerの「ログイン」メソッドがまったく実行されないことです。
二紛らわしい部分は、このコードは、魔法のように動作していることである - 管理者/ログイン/にすべてをリダイレクトします。
def authorize
unless User.find_by_id(session[:user_id])
flash[:notice] = "you need to login"
redirect_to :controller => 'admin', :action => 'login'
end
end
Sidenotes:
- を、私は、サーバーを数回再起動します。
- キャッシングの問題がないことを確認するために、別のブラウザを試しました。
私はあなたがログインしようとしている時、これはPOSTリクエストではなく、GETだと思います。ログインフォームコードを表示する – fl00r