Rails Flash.now 不工作

发布于 2024-11-30 08:36:20 字数 202 浏览 0 评论 0原文

我有一个视图,从中向控制器发出 ajax 请求,并在操作成功完成后初始化 flash.now[:notice]。但在控件返回到视图之后。我碰巧没有看到闪现消息。

flash.now[:notice] = "Request Completed successfully" if @meetings.any?

I have a view from which I make an ajax request to the controller and after the action is successfully completed I initialize the flash.now[:notice]. But after the control goes back to the view. I don't happen to see the flash message.

flash.now[:notice] = "Request Completed successfully" if @meetings.any?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

夏末染殇 2024-12-07 08:36:20

重定向使用时

flash[:notice] = "This message value is available in next request-response cycle"

渲染时使用

flash.now[:notice] = "Message is available in same request-response cycle"

此处中的信息

When redirecting use

flash[:notice] = "This message value is available in next request-response cycle"

When rendering use

flash.now[:notice] = "Message is available in same request-response cycle"

Info from here

荆棘i 2024-12-07 08:36:20

在调用 render 之前你会 flash.now 吗?否则您的消息将不会出现。

Do you flash.now BEFORE you call render? Otherwise your message won´t appear.

我乃一代侩神 2024-12-07 08:36:20

如果您使用 form_with 您需要使用 local: true

<%= form_with @user, local: true do |f| %>
  <%= f.label :name %>
  <%= f.text_field :name %>
  <%= f.submit %>
<% end %>

If you use form_with you need to use local: true

<%= form_with @user, local: true do |f| %>
  <%= f.label :name %>
  <%= f.text_field :name %>
  <%= f.submit %>
<% end %>
江城子 2024-12-07 08:36:20

控制器中的代码:

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 %>

code in the controller:

flash[:success] = "All good!"
format.html { redirect_to some_path}

and in the view with close button:

<% 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 %>
迷离° 2024-12-07 08:36:20

检查您的 application.html.erb 文件中是否有类似的内容

<% flash.each do |key, value| %>
    <div class="flash <%= key %>"><%= value %></div>
<% end %>

:如果没有,则必须添加它,因为这是显示通知的位置。

Check you've got something like

<% flash.each do |key, value| %>
    <div class="flash <%= key %>"><%= value %></div>
<% end %>

in your application.html.erb file: if you don't you must add it, as this is where the notice will be displayed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文