gpt4 book ai didi

ruby-on-rails - 将闪光灯转换为阵列作为标准

转载 作者:行者123 更新时间:2023-12-04 05:59:40 24 4
gpt4 key购买 nike

我开始在 Rails 上学习 ruby​​,就像到目前为止一样。但是我很难把头放在那些闪光的 session 上。

我宁愿让它像这样工作:

flash[:alert] << "first alert message" 
flash[:alert] << "second alert message"

但是,它不起作用(编辑:因为 flash[:alert] 不是数组)。一个解决方案是将 flash[:alert] 作为某种构造中的空数组启动,我在 before_filter 中尝试过,但没有让它工作。

有任何想法吗?

编辑:
正如我在一些评论中所写的那样。我想要做的是找到一个地方将 flash[:alert] 转换为数组。在某种构造中。如果我在调用 flash[:alert] 之前这样做,我必须知道我什么时候会第一次这样做,这样我就不会覆盖我已经拥有的任何内容。

最佳答案

您可以在应用程序 Controller 中编写一个辅助方法。例如,像这样:

class ApplicationController

def add_to_flash_array key, value
# set empty array as default value
flash[key] ||= []

if flash[key].is_a? Array
flash[key] << value
else # somebody set a value from underneath this method, enter panic mode
raise "flash['#{key}'] is not an array!"
end
end
end

# usage

add_to_flash_array :alert, 'Message 1'
add_to_flash_array :alert, 'Message 2'

然后在您的 View 中循环 flash[:alert]并建立您的标记。

关于ruby-on-rails - 将闪光灯转换为阵列作为标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9082768/

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