データベースからパスワードでバックエンドを作成しようとしていますが、ログインページを通過できません:P
私のアドミンコントローラー
class Backend::AdminController < ApplicationController
layout :layout
before_filter :authorize, :except => :login
def authorize
if session[:backend] != true
redirect_to backend_login_path
end
end
private
def layout
if session[:backend] == true
"admin"
else
"login"
end
end
def login
employee = Employee.authenticate(params[:name], params[:password])
if employee
session[:backend] = true
redirect_to backend_root_path, :notice => "Logged in!"
else
flash.now.alert = "Invalid login"
end
end
def logout
session[:backend] = nil
redirect_to backend_login_path, :notice => "Logged out!"
end
end
マイルート
match "backend/login" => "backend/admin#login"
match "backend/logout" => "backend/admin#logout"
マイログインページ
<% flash.each do |name, msg| %>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
<% end %>
<h1>Log in</h1>
<%= form_tag backend_login_path do %>
<p>
<%= label_tag :name %><br />
<%= text_field_tag :name, params[:name] %>
</p>
<p>
<%= label_tag :password %><br />
<%= password_field_tag :password %>
</p>
<p class="button"><%= submit_tag "Log in" %></p>
<% end %>
URL /backend に移動すると、/backend/login にリダイレクトされます。正常なログインまたは不正なログインを入力すると、何も起こらず、フラッシュが表示されません。Web サーバー コンソールの出力から、POST 情報がログイン メソッドを通過していることがわかります。何が問題なのかわかりません。ありがとうございました
編集: URL /backend/logout にアクセスしようとすると、取得します
Unknown action
The action 'logout' could not be found for Backend::AdminController
私は本当にこれを理解していません:(初心者です