Hi Everyone,
I have just created a destroy action in my controller, it was working
fine about 2 hours ago and now for some reason it has stopped working.
Once I click on destroy I receive '' Unknown action No action
responded to destroy''. The action that I want it to redirect to is
''list'' and this action does work as I have another action that
redirects to ''list'' fine. Could anyone let me in to what I I
have done
wrong please...?
def list
@albums = Album.find(:all)
render(:action => ''album_list'')
end
def destroy
@album = Album.find(params[:id])
@album.destroy
redirect_to(:action =>''list'')
end
And in my view I have
<% if @album != nil -%>
ID: <%= @album.id %><br/>
Title: <%= @album.title %> <br/>
Artist: <%= @album.artist %><br/>
Genre: <%= @album.genre %><br/>
<% else -%>
No record found.
<% end -%>
<%= link_to(''Back'', :action =>
''alt_album_list'') %> |
<%= link_to(''Edit'', :action =>
''edit'', :id => @album.id ) %> |
<%= link_to(''Destroy'', {:action =>
''destroy'', id =>
@album.id}, :confirm => ''
Are you sure?'') %>
When I go into the logs I get the following error message
Processing PublicController#destroy (for 127.0.0.1 at 2008-10-19
16:32:19) [GET]
Session ID:
BAh7ByIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo
SGFzaHsABjoKQHVzZWR7ADoMY3NyZl9pZCIlZmFlNWMzZDcxOWY5OTM0Yzhk
ZDk0YTgwMDU4OWNkMDA=--5ecae299067ff9537732b80de514985b52f69fab
Parameters: {"controller"=>"public",
"action"=>"destroy",
"id"=>"15"}
ActionController::UnknownAction (No action responded to destroy):
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/filters.rb:580:in
`call_filters''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/filters.rb:573:in
`perform_action_with_filters''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in
`perform_action_with_benchmark''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/1.8/benchmark.rb:
293:in `measure''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in
`perform_action_with_benchmark''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/rescue.rb:201:in
`perform_action_with_rescue''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/caching/sql_cache.rb:13:in
`perform_action_with_caching''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
activerecord-2.1.0/lib/active_record/connection_adapters/abstract/
query_cache.rb:33:in `cache''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
activerecord-2.1.0/lib/active_record/query_cache.rb:8:in `cache''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/caching/sql_cache.rb:12:in
`perform_action_with_caching''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/base.rb:529:in `process''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/filters.rb:569:in
`process_with_filters''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/session_management.rb:130:in
`process_with_session_management_support''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/base.rb:389:in `process''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/dispatcher.rb:149:in
`handle_request''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/dispatcher.rb:107:in `dispatch''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in
`synchronize''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in `dispatch''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/dispatcher.rb:120:in
`dispatch_cgi''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
actionpack-2.1.0/lib/action_controller/dispatcher.rb:35:in `dispatch''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
rails-2.1.0/lib/webrick_server.rb:112:in `handle_dispatch''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/gems/
rails-2.1.0/lib/webrick_server.rb:78:in `service''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/1.8/webrick/
httpserver.rb:104:in `service''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/1.8/webrick/
httpserver.rb:65:in `run''
C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/1.8/webrick/
server.rb:173:in `start_thread''
:1:in `start''
Rendering C:/Users/Keith/.netbeans/6.1/jruby-1.1/lib/ruby/gems/1.8/
gems/actionpack-2.1.0/lib/action_controller/templates/rescues/
layout.erb (not_found)
Has anyone came across this before? I have done research on the
message and someone has the same problem and fixed it by going into
the following
This is a comment I found from another group
I got this error (ActionController::UnknownAction - No action
responded to ...), and I noticed it was because the link_to helper
generated bad URL''s (in the ":controller/:id/:action" format
rather
than ":controller/:action/:id").
The fix was to change the order of statements in the config/routes.rb
file; move my "map.resources" statements higher up in the file
(=higher priority).
Thanks everyone
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---