gpt4 book ai didi

ruby-on-rails - rails : Easy way to add more than one flash[:notice] at a time

转载 作者:行者123 更新时间:2023-12-03 01:33:55 25 4
gpt4 key购买 nike

我认为每次执行 flash[:notice]="Message" 时,它都会将其添加到数组中,然后在 View 中显示该数组,但以下内容仅保留最后一次闪烁:

flash[:notice] = "Message 1"
flash[:notice] = "Message 2"

现在我意识到这只是一个带有 key 的简单哈希(我认为:)),但是有没有比以下更好的方法来进行多次闪烁:

flash[:notice] = "Message 1<br />"
flash[:notice] << "Message 2"

最佳答案

我通常将此类方法添加到我的 ApplicationHelper 中:

def flash_message(type, text)
flash[type] ||= []
flash[type] << text
end

还有

def render_flash
rendered = []
flash.each do |type, messages|
messages.each do |m|
rendered << render(:partial => 'partials/flash', :locals => {:type => type, :message => m}) unless m.blank?
end
end
rendered.join('<br/>')
end

使用起来非常容易:

你可以这样写:

flash_message :notice, 'text1'
flash_message :notice, 'text2'
flash_message :error, 'text3'

在你的 Controller 中。

只需将此行添加到您的布局中即可:

<%= render_flash %>

关于ruby-on-rails - rails : Easy way to add more than one flash[:notice] at a time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2448789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com