Flash.alert Rails Ruby 不工作
Flash.alert not working in Ruby on Rails
我试图在用户使用不正确的凭据登录失败时弹出警报。登录不会通过,但不会显示警报。
这是我认为的代码:
<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" %>
然后在我的控制器中我有:
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
我也试过 flash[:alert] = "Invalid name/password combination"
但效果不佳。感谢任何帮助。
您可以使用 flash[:notice]
。
flash[:notice] = "Invalid name/password combination"
在您看来,您可以使用以下方式显示它:
<%= flash[:notice] %>
为什么最后有双头?
你试试这个:
flash.alert = "Invalid name/password combination"
render 'pagein'
我试图在用户使用不正确的凭据登录失败时弹出警报。登录不会通过,但不会显示警报。
这是我认为的代码:
<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" %>
然后在我的控制器中我有:
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
我也试过 flash[:alert] = "Invalid name/password combination"
但效果不佳。感谢任何帮助。
您可以使用 flash[:notice]
。
flash[:notice] = "Invalid name/password combination"
在您看来,您可以使用以下方式显示它:
<%= flash[:notice] %>
为什么最后有双头?
你试试这个:
flash.alert = "Invalid name/password combination"
render 'pagein'