# Getting errors in cached environment on destroy

**URL:** <https://www.ruby-forum.com/t/getting-errors-in-cached-environment-on-destroy/138309>\
**Category:** Rails\
**Created:** [May 21, 2008, 10:37pm UTC](https://www.ruby-forum.com/t/getting-errors-in-cached-environment-on-destroy/138309 "2008-05-21T22:37:48Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![chrisolsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c6cbf5/32.png) [@chrisolsen](https://www.ruby-forum.com/u/chrisolsen)\
**Post date:** [May 21, 2008, 10:37pm UTC](https://www.ruby-forum.com/t/getting-errors-in-cached-environment-on-destroy/138309/1 "2008-05-21T22:37:48Z")

</div>

I have a project that is having some issues in clearing cache files in  
any environment that allows for data caching.

This is the error that I am getting:  
ArgumentError in Admin/pagesController#destroy

wrong number of arguments (1 for 0)  
RAILS\_ROOT: /Users/chris/Documents/Projects/Rails/app

Application Trace | Framework Trace | Full Trace  
/Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active\_record/observer.rb:157:in  
`after_destroy' /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/observer.rb:157:in`send’  
/Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active\_record/observer.rb:157:in  
`update' /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/callbacks.rb:338:in`notify’  
/Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active\_record/callbacks.rb:302:in  
`callback' /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/callbacks.rb:296:in`destroy\_without\_transactions’  
/Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active\_record/transactions.rb:104:in  
`destroy' /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/connection_adapters/abstract/database_statements.rb:66:in`transaction’  
/Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active\_record/transactions.rb:80:in  
`transaction' /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active_record/transactions.rb:100:in`transaction’  
/Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active\_record/transactions.rb:104:in  
`destroy' app/controllers/admin/pages_controller.rb:41:in`destroy’

# ================= Here is my controller code:

class Admin::PagesController \< ApplicationController  
before\_filter :login\_required\_for\_staff\_member, :find\_account  
layout “admin”

def destroy  
@page = @account.pages.find(params[:id])  
if @page.destroy  
flash[:success] = “The page was deleted”  
redirect\_to admin\_pages\_url  
else  
render :action =\> “index”  
end  
end

Any ideas?

Thanks for the help.

---

<div class="post-metadata">

**Author:** ![chrisolsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c6cbf5/32.png) [@chrisolsen](https://www.ruby-forum.com/u/chrisolsen)\
**Post date:** [May 22, 2008, 3:04am UTC](https://www.ruby-forum.com/t/getting-errors-in-cached-environment-on-destroy/138309/2 "2008-05-22T03:04:55Z")

</div>

Show us your model code please, specificially whatever is calling  
after\_destroy.

On Thu, May 22, 2008 at 6:07 AM, Chris O. \<  
removed\_email\_address@domain.invalid\> wrote:

> Application Trace | Framework Trace | Full Trace  
> /Library/Ruby/Gems/1.8/gems/activerecord-2.0.2/lib/active\_record/callbacks.rb:338:in
> 
> ## `destroy’ @page = @account.pages.find(params[:id]) Thanks for the help.
> 
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
> 
> >

–  
Appreciated my help?  
Recommend me on Working With Rails  
[http://workingwithrails.com/person/11030-ryan-bigg](http://workingwithrails.com/person/11030-ryan-bigg)

---

<div class="post-metadata">

**Author:** ![chrisolsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c6cbf5/32.png) [@chrisolsen](https://www.ruby-forum.com/u/chrisolsen)\
**Post date:** [May 22, 2008, 3:20am UTC](https://www.ruby-forum.com/t/getting-errors-in-cached-environment-on-destroy/138309/3 "2008-05-22T03:20:43Z")

</div>

Unfortunately, there is nothing that is being called in the after  
destroy and I don’t see anything in the acts\_as\_paranoid that would  
cause the problem.

class Page \< ActiveRecord::Base  
belongs\_to :account  
has\_many :contents  
has\_many :current\_contents, :class\_name =\> “Content”, :conditions =\>  
‘expires = false or expires\_on \> “#{Date.today}”’, :order =\> “id desc”  
has\_many :expired\_contents, :class\_name =\> “Content”,:conditions =\>  
‘expires = true and expires\_on \< “#{Date.today}”’, :order =\> “id desc”

validates\_presence\_of :name

acts\_as\_paranoid

def to\_param  
“#{id}-#{name.gsub(”\s", “\_”)}"  
end

end

---

<div class="post-metadata">

**Author:** ![chrisolsen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c6cbf5/32.png) [@chrisolsen](https://www.ruby-forum.com/u/chrisolsen)\
**Post date:** [May 22, 2008, 3:31am UTC](https://www.ruby-forum.com/t/getting-errors-in-cached-environment-on-destroy/138309/4 "2008-05-22T03:31:38Z")

</div>

🙂 There was a different sweeper that was calling the after\_destroy  
method. I missed that one.

Thanks for the help Ryan.
