J'ai une application rails qui fonctionne correctement dans Safari, Firefox et Opera. Toutefois, lorsque j'essaie de me connecter à partir d'Internet Explorer 6+, je suis redirigé vers la bonne page mais rien ne s'affiche. La source dit que tout est là, mais la page est juste vide. Quand je frappe rafraîchir tout fonctionne normalement. Quelqu'un at-il une expérience avec cela?Rails & reposful_authentication malheurs avec Internet Explorer (toutes les versions)
Code pertinent:
## contrôleur d'application
# Filters added to this controller apply to all controllers in the application.
# Likewise, all the methods added will be available for all controllers.
class ApplicationController < ActionController::Base
helper :all # include all helpers, all the time
layout 'public'
before_filter :presenter
include AuthenticatedSystem
# See ActionController::RequestForgeryProtection for details
# Uncomment the :secret if you're not using the cookie session store
protect_from_forgery :secret => 'secrete code'
# See ActionController::Base for details
# Uncomment this to filter the contents of submitted sensitive data parameters
# from your application log (in this case, all fields with names like "password").
# filter_parameter_logging :password
def index
end
def terms
end
def contact
@contact = Contact.new
end
def send_contact_request
@contact = Contact.new(params['contact'])
if @contact.save
begin
UserMailer.deliver_contact_message(@contact)
flash[:notice] = @presenter.notify("notification", "Success!", "Your message has been delivered.")
redirect_to root_path
rescue
flash[:notice] = @presenter.notify("error", "Error!", "There was an error delivering your request.")
render :action=>"contact"
end
else
render :action=>"contact"
end
end
def schedule
@schedule = Schedule.new
end
def schedule_testing
@schedule = Schedule.new(params['schedule'])
if @schedule.save && @schedule.agreed?
UserMailer.deliver_testing_request(@schedule)
flash[:notice] = @presenter.notify("notification", "Success!", "Your request has been delivered.")
redirect_to root_path
else
flash[:notice] = @presenter.notify("error", "Error!", "There was an error delivering your request.")
render :action => "schedule"
end
end
protected
def presenter
@presenter = AdminPresenter.new(:param => current_user)
end
end
## contrôleur sessions
# This controller handles the login/logout function of the site.
class SessionsController < ApplicationController
# Be sure to include AuthenticationSystem in Application Controller instead
include AuthenticatedSystem
layout 'public'
before_filter :presenter
# render new.rhtml
def new
end
def create
logout_keeping_session!
user = User.authenticate(params[:email], params[:password])
if user
# Protects against session fixation attacks, causes request forgery
# protection if user resubmits an earlier form using back
# button. Uncomment if you understand the tradeoffs.
# reset_session
self.current_user = user
new_cookie_flag = (params[:remember_me] == "1")
handle_remember_cookie! new_cookie_flag
if user.password_changed?
redirect_back_or_default(admin_index_path)
flash[:notice] = @presenter.notify("notification", "Welcome!", "Logged in successfully.")
else
redirect_to edit_admin_user_path(user)
flash[:notice] = @presenter.notify("warning", "Welcome!", "Please change your password to something more memorable.")
end
else
note_failed_signin
@email = params[:email]
@remember_me = params[:remember_me]
render :action => 'new'
end
end
def destroy
logout_killing_session!
redirect_to admin_index_path
flash.now[:notice] = @presenter.notify("notification", "Success!", "You have been logged out.")
end
protected
# Track failed login attempts
def note_failed_signin
@email = params[:email]
flash[:notice] = @presenter.notify("error", "Error!", "Could not log you in as #{@email}.")
logger.warn "Failed login for '#{params[:email]}' from #{request.remote_ip} at #{Time.now.utc}"
end
def presenter
@presenter = AdminPresenter.new(:param => @map)
end
end
## réponse du journal pour IE
Processing SessionsController#create (for IP ADDY at 2009-05-12 14:44:57) [POST]
Session ID: fccb95ca6fd7a7730b7a585f1c8457a3
Parameters: {"commit"=>"Log in", "authenticity_token"=>"8a05db56dbd6e7116fb82e4f3fdb77df75383ede", "password"=>"secret", "email"=>"[email protected]"}
Cookie set: auth_token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
[4;36;1mUser Load (0.1ms)[0m [0;1mSELECT * FROM `users` WHERE (email = '[email protected]' and activated_at IS NOT NULL) LIMIT 1[0m
[4;35;1mSQL (0.0ms)[0m [0mBEGIN[0m
[4;36;1mSQL (0.0ms)[0m [0;1mCOMMIT[0m
Cookie set: auth_token=; path=/
Redirected to /admin
Completed in 1ms (DB: 0) | 302 Found [http://www.gessnerengineering.com/session]
Processing AdminController#index (for IP ADDY at 2009-05-12 14:44:57) [GET]
Session ID: fccb95ca6fd7a7730b7a585f1c8457a3
[4;35;1mUser Load (0.0ms)[0m [0mSELECT * FROM `users` WHERE (`users`.`id` = 12) LIMIT 1[0m
[4;36;1mProfile Load (0.0ms)[0m [0;1mSELECT * FROM `profiles` WHERE (approved = 0) [0m
[4;35;1mProject Load (0.0ms)[0m [0mSELECT * FROM `projects` WHERE (approved = 0) [0m
[4;36;1mMap Load (0.0ms)[0m [0;1mSELECT * FROM `maps` WHERE (approved = 0) [0m
[4;35;1mProfile Load (0.0ms)[0m [0mSELECT * FROM `profiles` WHERE (score_approved = 0) [0m
Rendering template within layouts/admin
Rendering admin/index
[4;36;1mProfile Load (0.0ms)[0m [0;1mSELECT * FROM `profiles` WHERE (`profiles`.user_id = 12) LIMIT 1[0m
[4;35;1mRole Load (0.0ms)[0m [0mSELECT * FROM `roles` WHERE (`roles`.`id` = 1) [0m
Rendered admin/users/_user_bar (0.1ms)
[4;36;1mCACHE (0.0ms)[0m [0;1mSELECT * FROM `roles` WHERE (`roles`.`id` = 1) [0m
Completed in 3ms (View: 2, DB: 3) | 200 OK [http://www.gessnerengineering.com/admin]
## log réponse pour Firefox
Processing SessionsController#create (for IP ADDY at 2009-05-12 14:46:57) [POST]
Session ID: 163aa367284e7734a17c545fcf85bc95
Parameters: {"commit"=>"Log in", "authenticity_token"=>"bc549a7f2ae4a937044db12e283c1af13e045b50", "password"=>"secret", "email"=>"[email protected]"}
Cookie set: auth_token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT
[4;35;1mUser Load (0.1ms)[0m [0mSELECT * FROM `users` WHERE (email = '[email protected]' and activated_at IS NOT NULL) LIMIT 1[0m
[4;36;1mSQL (0.0ms)[0m [0;1mBEGIN[0m
[4;35;1mSQL (0.0ms)[0m [0mCOMMIT[0m
Cookie set: auth_token=; path=/
Redirected to /admin
Completed in 2ms (DB: 0) | 302 Found [http://www.gessnerengineering.com/session]
Processing AdminController#index (for IP ADDY at 2009-05-12 14:46:57) [GET]
Session ID: 163aa367284e7734a17c545fcf85bc95
[4;36;1mUser Load (0.1ms)[0m [0;1mSELECT * FROM `users` WHERE (`users`.`id` = 12) LIMIT 1[0m
[4;35;1mProfile Load (0.0ms)[0m [0mSELECT * FROM `profiles` WHERE (approved = 0) [0m
[4;36;1mProject Load (0.0ms)[0m [0;1mSELECT * FROM `projects` WHERE (approved = 0) [0m
[4;35;1mMap Load (0.0ms)[0m [0mSELECT * FROM `maps` WHERE (approved = 0) [0m
[4;36;1mProfile Load (0.0ms)[0m [0;1mSELECT * FROM `profiles` WHERE (score_approved = 0) [0m
Rendering template within layouts/admin
Rendering admin/index
[4;35;1mProfile Load (0.0ms)[0m [0mSELECT * FROM `profiles` WHERE (`profiles`.user_id = 12) LIMIT 1[0m
[4;36;1mRole Load (0.0ms)[0m [0;1mSELECT * FROM `roles` WHERE (`roles`.`id` = 1) [0m
Rendered admin/users/_user_bar (0.1ms)
[4;35;1mCACHE (0.0ms)[0m [0mSELECT * FROM `roles` WHERE (`roles`.`id` = 1) [0m
Completed in 4ms (View: 2, DB: 3) | 200 OK [http://www.gessnerengineering.com/admin]
Pouvez-vous ajouter votre point de vue et CSS? Cela ressemble à un problème de rendu, pas à un problème de contrôleur. –