I'm using [Delayed Job](https://github.com/collectiveidea/delayed_job) as my `ActiveJob` queuing backend, and I'm trying to send out emails using `ActionMailer`'s `deliver_later` method. I believe I've got all of Delayed Job's setup correct, and I'm running a background worker on my development machine.

When I send out a password reset email, I receive the following error:

> 
> [Worker(host:Computer pid:7240)] Job
>  ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper (id=1) FAILED
>  (5 prior attempts) with ActionView::Template::Error: No route matches
>  {:action=>"edit", :controller=>"password\_resets",
>  :email=>"user@example.com", :id=> nil} missing required keys: [:id]
> 
> 
> 

Here is how I'm sending out the password reset email. This is located in my `User` model:

```
def send_password_reset_email
  UserMailer.password_reset(self).deliver_later
end

```

My password reset setup is very similar to the one on [this SO post](https://stackoverflow.com/questions/27883926/mailer-unable-to-access-attr-accessor-in-model) in that I don't store my `reset_token` in the database and instead have it as a virtual attribute, and I think that might be my issue, but I want to avoid storing that value if possible. Is there a way I can pass the generated `reset_token` to the Delayed Job worker? It is also possible that my problem is related to something else.

Any help would be greatly appreciated!