簡體   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