Ich habe die anderen ähnlichen Fragen überprüft, und keine haben das gleiche Problem. Kurz nachdem ein Benutzer sich anmeldet, leitet meine App zum Root-Pfad um. Sollte einfach sein, aber aus irgendeinem Grund gibt redirect_to nicht die richtige URL zurück. Es funktioniert gut im Entwicklungsmodus. Ich versuche zu lernen, wie man den Produktionsmodus einrichtet. So habe ich eine kleine App mit nichts als einem Login/Logout an, grah.ddns.net Wenn ich einen redirect_to zum root_url ich Folgendes in das Adressfeld des Browsers erhalten:Rails redirect_to funktioniert nicht in der Produktion
"http://grah.ddns.net, grah .ddns.net "
Ich habe keine Ahnung, warum redirect_to eine solche Zeichenfolge zurückgeben würde.
Hier ist mein Controller-Code:
def login
user = User.find_by_name(params[:name])
if user.present?
@user = user.authenticate(params[:password])
if @user.present?
session[:userID] = @user.id
session[:userName] = params[:name]
end
end
// responds with "http://grah.ddns.net, grah.ddns.net
redirect_to root_url
end
def logout
session.delete(:userID) if session[:userID].present?
session.delete(:userName) if session[:userName].present?
// Which should I use root_path or root_url?
redirect_to root_path
end
und hier ist meine Routen-Datei:
Rails.application.routes.draw do
root 'main#index'
get 'main/index'
post 'session/login'
get 'session/logout'
end
ich hier nichts zu sehen, die dazu führen sollte, was ich erhalte. Das einzige, was ich aus der Ferne gefunden habe, ist:
config.consider_all_requests_local = false
Was im Entwicklungsmodus gilt, und es funktioniert. Welchen Teil des Produktionsmodus vermisse ich ??? Halb versucht, einfach im Entwicklungsmodus zu laufen ... sheesh.
Würden Sie bitte Ihre Routes-Datei teilen? –
Routen-Datei zu Frage hinzufügen. – detrix42