Rails:一次添加多个flash[:注意]的简单方法

我想每次你做一个flash[:notice]=“Message”时,它会将它添加到数组中,然后在查看过程中显示出来,但下面只保留最后一个flash:

flash[:注意]=“消息1”
flash[:注意]=“消息2”

现在我意识到这只是一个带键的简单散列(我想:),但是有没有比下面更好的方法来进行多次闪烁:

flash[:notice]=“消息1<br/>”
闪光[:注意]&lt&书信电报;“信息2”

我通常向ApplicationHelper添加以下方法:

def flash_消息(类型,文本)
闪光[类型]| |=[]
闪存[类型]&lt&书信电报;文本
终止

def渲染\u闪存
呈现=[]
闪存。每个do |类型,消息|
消息。每个do | m|
渲染&lt&书信电报;渲染(:partial=>'partials/flash',:locals=>{:type=>type,:message=>m}),除非m.blank?
终止
终止
rendered.join(“<br/>”)
终止

在使用它们非常容易之后:

你可以这样写:

flash\u消息:注意,“text1”
闪光信息:注意“text2”
flash_消息:错误,“text3”

在你的控制器里

只需将这一行添加到布局中:

<%=渲染_flash%>

发表评论