我想每次你做一个flash[:notice]=“Message”时,它会将它添加到数组中,然后在查看过程中显示出来,但下面只保留最后一个flash:
flash[:注意]=“消息1”
flash[:注意]=“消息2”
现在我意识到这只是一个带键的简单散列(我想:),但是有没有比下面更好的方法来进行多次闪烁:
flash[:notice]=“消息1<;br/>;”
闪光[:注意]<&书信电报;“信息2”
我通常向ApplicationHelper添加以下方法:
def flash_消息(类型,文本)
闪光[类型]| |=[]
闪存[类型]<&书信电报;文本
终止
及
def渲染\u闪存
呈现=[]
闪存。每个do |类型,消息|
消息。每个do | m|
渲染<&书信电报;渲染(:partial=>;'partials/flash',:locals=>;{:type=>;type,:message=>;m}),除非m.blank?
终止
终止
rendered.join(“<;br/>;”)
终止
在使用它们非常容易之后:
你可以这样写:
flash\u消息:注意,“text1”
闪光信息:注意“text2”
flash_消息:错误,“text3”
在你的控制器里
只需将这一行添加到布局中:
<;%=渲染_flash%>;