さらに説明すると、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 => "Invalid email or password"}) が表示される理由を教えてください。何がいけないのか、まったくわからないのですが、
(ところで、これは Rails Casts #250 から取られたものです)