我在Rails 4中使用Bootstrap
这是我在我的控制器中的创建操作:
def create
@contest = Contest.new(contest_params)
if @contest.save
flash[:notice] = "Contest saved successfully"
redirect_to @contest
else
redirect_to root_path, :notice => 'Project not saved'
end
end
我提交表格时怎么没有通知?有什么我想念的吗?我是一个初学者,但却无法弄清楚这一点。
我的布局中已经有以下内容:
<body>
<p class="notice"><%= flash[:notice] %></p>
<p class="alert"><%= flash[:alert] %></p>
<%= render 'layouts/header' %>
<%= yield %>
<%= render 'layouts/footer' %>
</body>
答案 0 :(得分:1)
Read about the flash。您必须在html视图中显示Flash内容,最好是在布局中。
<html>
<body>
<% flash.each do |name, msg| -%>
<%= content_tag :div, msg, class: name %>
<% end -%>
</body>
</html>
答案 1 :(得分:0)
在html视图中的<%= flash[:notice] %>
中设置root_path
。
答案 2 :(得分:0)
尝试这样:
flash[:notice] = 'Project saved successfully'
redirect_to about_path
在某些版本中,使用闪存重定向已被破坏。 如果您想尝试解决方法:
redirect_to url, :flash => { :notice => "notice" }
还可以修改您的布局
删除布局标题,以防它发生冲突。
<body>
<p class="notice"><%= flash[:notice] %></p>
<p class="alert"><%= flash[:alert] %></p>
<%= yield %>
<%= render 'layouts/footer' %>
</body>