How to reference parent model from Carrierwave Upl

2019-06-26 06:50发布

问题:

I want to run some methods after the upload of a file has been completed via Carrierwave. Carrierwave includes several callback methods detailed here.

I'm planning on using the :store callback.

That's great, but it requires me to run the callback method in the Uploader object instance. This isn't the end of the world, but I want to keep all the logic inside of my parent Model.

My question is: How should I be referencing the parent model from the Uploader? I don't see anything obvious in the documentation?

I suppose I could do something like

ParentModel.last.call_my_method_here

but this seems like a very brittle way to code this (not expecting a lot of requests, but still).

回答1:

I guess the model variable is what you were looking for, see examples using it here



回答2:

For what it's worth, I have used the after_commit callback on parent model which so far seems to be working properly. This is allowing me to interact with the uploaded file as well.