如何从 Carrierwave Uploader 对象引用父模型

Posted

技术标签:

【中文标题】如何从 Carrierwave Uploader 对象引用父模型【英文标题】:How to reference parent model from Carrierwave Uploader object 【发布时间】:2012-10-25 02:39:15 【问题描述】:

我想在通过 Carrierwave 完成文件上传后运行一些方法。 Carrierwave 包含多个回调方法,详细介绍 here。

我打算使用 :store 回调。

这很好,但它需要我在 Uploader 对象实例中运行回调方法。这不是世界末日,但我想将所有逻辑保留在我的父模型中。

我的问题是:我应该如何从 Uploader 中引用父模型?我在文档中没有看到任何明显的内容?

我想我可以做类似的事情

ParentModel.last.call_my_method_here

但这似乎是一种非常脆弱的编码方式(预计会有很多请求,但仍然如此)。

【问题讨论】:

【参考方案1】:

我猜model 变量是您正在寻找的,请参阅使用它的示例here

【讨论】:

【参考方案2】:

对于它的价值,我在父模型上使用了after_commit 回调,到目前为止它似乎工作正常。这也允许我与上传的文件进行交互。

【讨论】:

你能举个例子吗?我已经尝试过您的建议,但没有奏效。

以上是关于如何从 Carrierwave Uploader 对象引用父模型的主要内容,如果未能解决你的问题,请参考以下文章

carrierwave使用笔记

Carrierwave + 文件上传器

使用Carrierwave上传器测试模型

在模型更新后,Carrierwave不会重新创建版本

可序列化哈希中的carrierwave双键

Sprockets::Rails::Helper::AssetNotFound in Projects#show