【发布时间】:2018-09-24 05:54:58
【问题描述】:
我正在尝试迭代以下内容:
flash = {"danger"=>["Password can't be blank", "Name can't be blank"]}
我的迭代这些 flash 错误消息的代码如下:
<% flash.each do |name, message| %>
<div class="alert alert-<%= name %>">
<%= message %>
</div>
<% end %>
这是我设置 flash 的方式(我将其更改为允许出现多个错误,所以我认为):
flash[:danger] = []
@user.errors.full_messages.each do |message|
flash[:danger] << message
end
render :new
我似乎得到的回报是以下(所有在 div.alert alert-danger 中,这是正确的):
["密码不能为空", "姓名不能为空"]
我似乎无法弄清楚如何简单地单独迭代每条消息。我需要我的班级的密钥(危险),以及在 div 中显示的值(错误消息)。
任何帮助将不胜感激!
【问题讨论】:
-
为什么要覆盖默认的
flash? -
尝试 each_pair 而不是 each
-
@Pavan 我是新人,我不明白你的意思
-
我的问题是我希望能够在 flash[:danger] 中包含多个错误消息,因此我为消息创建了一个数组。让每条错误消息正确显示是一项挑战。
标签: ruby-on-rails ruby