Ruby on Rails中的flash[:notice] = "Message"
存在问题。
我正在尝试创建登录错误错误消息。我的登录故障处理是:
flash[:notice] = "Invalid username/password combination."
redirect_to(:action => 'login')
由于我不知道的原因,警报只是没有显示出来。我有很多可能的解决方案,但所有这些解决方案对我来说都不起作用。我正在使用Safari / Google Chrome网络浏览器。
答案 0 :(得分:2)
您的控制器代码看起来很好。我怀疑你的问题是不你在控制器中错误地调用了flash
方法,而是你没有编写代码(正确)来在你的视图中显示flash。 / p>
flash
只会显示您要显示的视图的消息。您正在正确设置消息,但可能无法正确显示消息。我不能告诉您,因为您没有发布您的观看代码。
例如,如果此操作是提交user/login.html.erb
表单的结果,则根据您的控制器代码,您希望在该视图文件中包含以下代码:
<% flash.each do |key, value| %>
<div class="alert"><%= value %></div>
<% end %>
此代码是this article中描述内容的更基本版本。