I need unique filenames for my files.

```
def filename
    "#{SecureRandom.urlsafe_base64}.gif"
end

```

This saves a file such as this:

```
ylGP48WxZXOY2OQ_x9dxAA.gif

```

however its respective field in the database to be saved like this:

```
jED48PRNz0asZzwYQXzecw.gif

```

I think what's happening is that Carrierwave is calling the `file_name` function when it's writing the file and when its saving the instance in the database, resulting in urlsafe\_base64 being called twice and creating two different strings. It works perfectly when I've hardcoded a name as a test.

So how can stop this? I know it's outrageous to ask, but how can I make Carrierwave use the same randomly generated filename in the database and when writing the file? I seriously think this should be considered a bug.