ruby-on-rails - 删除 Rails 中以特定字符串开头的 cookie

标签 ruby-on-rails cookies

我有一个 Rails 应用程序,其中包含让用户获得多个报价的功能。我将每个引用存储在这样的 cookie 中:

   if !results.nil?
      cookies["quote_#{SecureRandom.uuid}"]
    end

当用户创建多个报价时,我将拉出 cookie 以显示在屏幕上。我希望用户能够通过单击按钮删除或删除所有引用。

如何使用某种通配符来删除所有以 quote_ 开头的 cookie?所以像...

def clear_cookies
    cookies.delete "quote_*"
    redirect_to compare_path
  end

最佳答案

您可以迭代您的 cookie 并仅在所需的 cookie 上使用delete方法:

cookies.each { |key, _| cookies.delete(key) if key.start_with?("quote_") }

关于ruby-on-rails - 删除 Rails 中以特定字符串开头的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44657144/

相关文章:

jQuery-Facebox - 从 AJAX 重新绘制后弹出窗口不起作用

ruby-on-rails - 使用 CanCan 的上下文感知授权

ruby-on-rails - 如何定义 allow_destroy 和 :dependent => :destroy in Rails?

ruby - 如何手动将 cookie 添加到 Mechanize 状态?

javascript - 如何允许用户使用此 JQuery 示例关闭幻灯片?

ruby-on-rails - Rails 4 多线程应用程序 - ActiveRecord::ConnectionTimeoutError

ruby-on-rails - 如何使用带有变体的 Imagemagick 命令行选项创建裁剪和居中的图像?

ios - iOS 和 OS X 上的 native 应用程序可以写入和读取 Safari 的网站数据(例如 cookie 和 Web 存储)吗?

ios - WKWebView AJAX 调用丢失 cookie

javascript - 切换 cookie true false magento