Template is missing

Ok I'm getting this weird error whenever the update action fails to update. My code is below (its pretty straightforward). When the update is successful it works well, the problem is when it fails. I get a,

Template is missing Missing template accounts/edit.erb in view path app/views

This doesn't makes any sense as the edit view opens when I want to edit my account in the first place. I have noticed this on my console which seems weird and I'm pretty sure has to do with the problem:

Processing AccountsController#update to #<account:0xb70a69ac> (for 127.0.0.1 at 2009-08-14 04:04:28) [PUT]   Parameters: {"format"=>"#<account:0xb70a69ac>"... ---> NOTICE THE 'update to' , the <account:0x...ac> and the format parameter.

And the url changes to this:

http://antonio.app.com:3000/account.%23 … 70a69ac%3E

Any ideas?

  def edit     @account = current_account   end

  def update     @account = current_account     if @account.update_attributes(params[:account])       flash[:notice] = t('flash.saved')       redirect_to :action => :show     else       render :action => :edit     end   end

Yep, I tried that and I'm still getting the same error.

Fixed it. I was using a form_for like this:

<% form_for @account do |f| %>

and this was generating the following in html:

<form action="/account.%23%3Caccount:0xb71052a4%3E" class="edit_account"...

Maybe because it is a resource?

I changed it to:

<% form_for :account, @account, :url => { :action => 'update' }, :html => { :method => :put } do |f| %>

Now it works!