【问题标题】:Use cookies value in model ruby on rails在模型 ruby​​ on rails 中使用 cookie 值
【发布时间】:2015-09-07 06:34:33
【问题描述】:

如何在模型中使用 cookie 值。

我有一个模型来使用回形针上传文件并添加插值以传递 cookie 值。此 cookie 是在登录到用户文件夹名称时设置的。

我有一个上传模型来上传文件,并希望在下面的代码中传递文件夹名称以在路径中使用

has_attached_file :upload,
    :url => "/controllers/original/:basename.:extension",
    :path => "/files/uploads/:folder/:basename.:extension"

这就是我在控制器中使用它的方式

@upload = Upload.new(params[:upload])

所以我不知道如何将文件夹名称传递给模型,我尝试使用插值,但局部变量在那里也不可用,所以我被困在这里,

我正在尝试这样做,因为我无法在模型中获取会话或当前用户。

【问题讨论】:

  • 我觉得我的问题不清楚所以更新了。

标签: ruby-on-rails ruby-on-rails-3 session cookies paperclip


【解决方案1】:

来自documentation

Cookie 是通过 ActionController#cookies 读取和写入的。

如果您需要模型中的 cookie 值,请从控制器传递它们。

如果您想要回形针的“动态”路径,这里是the documentation

我还是不建议你将模型数据保存在cookie中并依赖它。

【讨论】:

  • 这个文档解释了一切,但我的要求在这里不同,我更新了问题。
  • @Vikram 为什么需要从 cookie 中获取 folder?如果 cookie 被删除了怎么办?文件夹与用户有关,不是吗?
  • 我还在我的回答中包含了指向 Paperclip 的“动态”路径配置的链接,以备您需要时使用
  • 在我的应用程序上,用户需要每天(一个团队)上传文件,所以我需要在每次用户登录时创建一个文件夹并将文件上传到这个新文件夹。如果用户在周一、周三和周五登录并上传文件,我应该会看到 3 个不同的文件夹 - 文件夹名称类似于 user_sess_sep07
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多