繁体   English   中英

Ruby on Rails中的Flash通知

[英]Flash notice in Ruby on Rails

抱歉,这个问题很抱歉,但是我在这里是RoR的真正初学者,所以在我学习课程时请多多包涵,但我并没有真正理解课程内容创建者的解释。


在1个控制器中,有几个动作有:

    flash[:notice]= "Article was successfully <some different text with each action>"


在app / views / layouts / _messages.html.erb中

<% flash.each do |name, msg| %>
  <ul>
    <li><%= msg %></li>
  </ul>
<% end %>


在app / views / layouts / application.html.erb中

<%= render 'layouts/messages' %>

课程创建者解释说我需要一个循环,因为它是一个数组数组? 我如何从代码中看到它是一个? 感谢您的帮助,循环如何工作,因为每次循环都只有flash [name] =“消息(如哈希)?

Flash提供了一种在动作之间传递临时原始类型(字符串,数组,哈希)的方法。 您放置在闪光灯中的任何东西都将暴露于下一个动作,然后清除。 这是一种执行通知和警报的好方法,例如,将create []设置为flash [:notice] =“成功创建后发布”,然后将其重定向到可以将Flash暴露给其模板的显示操作。 实际上,曝光是自动完成的。

<% flash.each do |name, msg| %>
  <ul>
    <li><%= msg %></li>
  </ul>
<% end %>

在上面,名称基本上是一种即显消息。 有不同类型的Flash,例如通知,警报等。

在此即时消息中

flash[:notice]= "Article was successfully <some different text with each action>"

通知是Flash类型,“ Artice was ....”实际上是一条消息

哈希以以下格式创建

{notice: "Article was successfully "}

message type用于为不同的消息类型设置适当的css。 对于例如警报闪光,我们需要以红色显示消息,如果成功,则我们需要以绿色显示消息。

如果要检查每个名称和消息,可以使用以下代码打印该名称和消息

<% flash.each do |name, msg| %>
  <% puts name %>
  <% puts msg %>
  <ul>
    <li><%= msg %></li>
  </ul>
<% end %>

如果您想了解更多有关Flash消息的信息,请检查此链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM