我有一个视图,我从中向控制器发出ajax请求,在操作成功完成后,我初始化 flash.now [:notice] 。但在控制回到视图之后。我没碰巧看到flash消息。
flash.now[:notice] = "Request Completed successfully" if @meetings.any?
答案 0 :(得分:80)
重定向时使用
flash[:notice] = "This message value is available in next request-response cycle"
渲染时使用
flash.now[:notice] = "Message is available in same request-response cycle"
来自here
的信息答案 1 :(得分:4)
你是否闪现。现在你打电话给渲染?否则您的消息将不会出现。
答案 2 :(得分:3)
控制器中的代码:
flash[:success] = "All good!"
format.html { redirect_to some_path}
并在关闭按钮的视图中:
<% flash.each do |key, value| %>
<%= content_tag(:div, class: "alert alert-#{key} alert-dismissable") do %>
<%= value %>
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<% end %>
<% end %>
答案 3 :(得分:2)
检查你有类似
的东西<% flash.each do |key, value| %>
<div class="flash <%= key %>"><%= value %></div>
<% end %>
在您的application.html.erb文件中:如果不这样做,则必须添加它,因为这是通知的显示位置。
答案 4 :(得分:0)
如果您使用form_with
,则需要使用local: true
<%= form_with @user, local: true do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>