J'essaie d'avoir une fenêtre d'alerte lorsque l'utilisateur ne parvient pas à se connecter avec les informations d'identification incorrectes. Le login ne passera pas mais l'alerte ne s'affichera pas.Flash.alert ne fonctionne pas dans Ruby on Rails
C'est le code que j'ai à mon avis:
<h2>The Maintenance Functions are restricted to authorized users only. Please login below.</h2>
<%= form_tag(dirlogin_pageout_path, :controller => "dirlogin", :action => "pageout", :method => "post") %>
<p>
<label for="name">User ID:</label><br>
<%= text_field_tag :userid, params[:userid] %>
</p>
<p>
<label for="password">Password:</label><br>
<%= password_field_tag :password, params[:password] %>
</p>
<%= submit_tag "login" %>
Puis, dans mon contrôleur je:
class DirloginController < ApplicationController
def pagein
end
def pageout
user = User.find_by_userid(params[:userid])
if user and user.authenticate(params[:password])
redirect_to maintenance_maintenancenav_path
else
render 'pagein'
flash.alert = "Invalid name/password combination"
end
end
end
J'ai aussi essayé de faire flash[:alert] = "Invalid name/password combination"
mais cela ne fonctionne pas bien. Toute aide est appréciée.
Alors cela fonctionne! Mais il faut 2 connexions échouées pour que l'avis apparaisse, et parfois le texte de l'avis est là quand la page se charge initialement. Des correctifs à cela? – Frank
Placez le 'flash [: notice]' avant votre instruction 'render' – Shannon
Nous vous remercions de votre aide! – Frank