我想在cookie中保存一组值。我有一个名为add_names的方法。每当调用此方法时,我需要在cookie中保存名称。我试过下面的代码。但它不起作用,它只保留最后一个值。
def add_names(name)
cookies[:user_names] = name
end
请建议我这样做。提前谢谢。
答案 0 :(得分:2)
Cookies将字符串存储在其中。如果您需要存储用户名列表,还可以附加名称
cookies[:user_names] = '' if cookies[:user_names].nil?
cookies[:user_names] = cookies[:user_names] + "#{value} ,"
答案 1 :(得分:1)
最简单的方法是:
cookies[:user_names] = @users.map { |user| user.name }
问题是,在each
循环中,您将:user_names
Cookie的值重新定义为单个用户。
如果要将值附加到现有数组,则可以执行以下操作:
def add_names name
# Initialize it to an empty array, if not set
cookies[:user_names] ||= []
# Then, append the user name
cookies[:user_names] << name
end