我目前正在学习Ruby on Rails的课程,而且进展顺利,但是当我开始做一个flash.each(下面的代码)时,我会在我的实际页面上显示{},只有当我删除了代码行消失了......我不知道为什么
<%= flash.each do |key, value| %>
<%= content_tag :div, value, class: "alert alert-#{key}" %>
<% end %>
这是我们在Application.html.erb文件中使用此
连接的代码class ContactsController < ApplicationController
def new
@contact = Contact.new
end
def create
@contact = Contact.new(contact_params)
if @contact.save
flash[:success] = "Message Sent"
redirect_to new_contact_path
else
flash[:danger] = "Message not sent ID10T ERROR occured"
redirect_to new_contact_path
end
end
end
成功和危险是自助课程btw ...
在我的页面上只有冷却的胭脂{}上,我得到{&#34;成功&#34; =&gt;&#34;消息已发送&#34;}出现在我的消息发送通知下面...我我很难过,虽然我可以像这样生活,我不想在我的第一个轨道应用程序上走一半..所有帮助都很感激..我将链接网站,以便你可以看到我在说什么,我会离开服务器尽可能长时间运行,以查看{success =&gt;消息}只需填写假名称电子邮件和评论,然后单击提交...非常感谢
https://udemy-rails-coder-nohashkang.c9users.io/contacts/new
答案 0 :(得分:2)
<%= flash.each do |key, value| %>
必须是
<% flash.each do |key, value| %>
由于您不打算输出每个方法的返回值,因此必须删除ERB输出标记。
您在输出中看到的是此方法的返回值,其中包含flash值的内部Ruby结构。