为了进一步解释,我的 Rails 应用程序布局中有以下代码:
<!-- Stuff omitted -->
<% unless flash.empty? %>
<%= flash.each do |name, msg| %>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
<% end %>
<% end %>
<%= yield %>
对于控制器:
#stuff omitted
def create
user = User.authenticate(params[:email], params[:password])
if user
session[:user_id] = user.id
redirect_to root_url, :notice => "Logged in!"
else
flash.now.alert = "Invalid email or password"
render :new
end
end
好的,所以,如果我碰巧未能通过身份验证,这就是我在浏览器中看到的:
你们能告诉我为什么哈希({:alert =>“无效的电子邮件或密码”})出现在消息下方吗?我真的不知道出了什么问题,
(顺便说一句,这取自 Rails Casts #250)