Ich habe den folgenden Code unter projects_controller.rb
Authentifizieren Benutzer in Controller und dann umleiten
class Admin::ProjectsController < ApplicationController
before_filter :require_login
def require_login
while (adminLogin != 'username')
redirect_to admin_login_path and return
end
end
Und diese unter application_controller.rb
class ApplicationController < ActionController::Base
# Return the admin user
def adminLogin
@email = params[:email]
@password = params[:password]
return @email
end
end
Ich versuche, die E-Mail in dieser Form zu erhalten und es auf den Pass Projects Controller, wenn die E-Mail definiert ist, kann sich der Administrator anmelden. Wenn ich den Absenden-Button auf dem Formular drücke, kann ich die richtige E-Mail an den Projektcontroller senden, indem er <%= debug @email %>
im Formular verwendet, aber die Seite umleitet nochmal anmelden. Wie kann ich dann zu/projekten gehen?
[UPDATE]:
application_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery
# Return the admin user
def redirect_unless_admin
@email = params[:email]
password = params[:password]
if (@email == 'username')
redirect_to admin_projects_path
else
redirect_to admin_login_path
end
Ende Ende
und ich benötige diese Methode in meinem projects_controller.rb
. Dies ist nur zu brechen, zu oft umleiten
Mit Ihrem genauen Code bekomme ich eine 'Die Website zu oft umgeleitet ', so dass ich nicht ganz sicher bin, ob das das Richtige ist. Wenn ich Ihre Methode zu diesem '@email =' Benutzernamen 'geändert habe: redirect_to (@email ==' Benutzername '? Admin_projects_path: admin_login_path) 'Es wird die richtige E-Mail und Routing zu'/admin/projects', aber dann stürzt es mit ab wieder zu oft Umleitung Fehler –
Cool, gib es eine Chance. Vielleicht habe ich versucht, zu viel Phantasie zu bekommen. Wenn alles andere fehlschlägt, gehen Sie einfach mit einem guten alten if/else :) –
Bitte beachten Sie meine Kommentar oben mit dem aktualisierten Code ^^^ –