Advanced Rails Recipes 书中的一个问题 高手进

悬赏:5 发布时间:2008-06-30 提问人:zookeeper53 (初级程序员)

Advanced Rails Recipes 书中21页,search那一段
访问 http://localhost:3000/events/search?q=rubyconf
错误提示
------------------------------------------------------------------------------------------------
ActiveRecord::RecordNotFound in EventsController#show
Couldn't find Event with ID=search
RAILS_ROOT: C:/rubydev/ad/REST

Application Trace | Framework Trace | Full Trace
D:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1379:in `find_one'
D:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1362:in `find_from_ids'
D:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:537:in `find'
app/controllers/events_controller.rb:16:in `show'
D:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1379:in `find_one'
D:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:1362:in `find_from_ids'
D:/Program Files/ruby/lib/ruby/gems/1.8/gems/activerecord-2.1.0/lib/active_record/base.rb:537:in `find'
D:/Program Files/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:1162:in `send'
D:/Program Files/ruby/lib/ruby/gems/1.8/gems/actionpack-2.1.0/lib/action_controller/base.rb:1162:in `perform_action_without_filters'
......................
.......................
............................
........................
Request
Parameters:

{"id"=>"search",
"q"=>"rubyconf"}

Show session dump

---
flash: !map:ActionController::Flash::FlashHash {}


Response
Headers:

{"cookie"=>[],
"Cache-Control"=>"no-cache"}

采纳的答案

2008-06-30 xxj (初级程序员)

出现这个错误,是因为routes.rb配置的问题。

这个配置了吗?
map.resources :events, :collection => { :search => :get }


如果配置了,将routes.rb贴出来看看。

或者使用
rake routes

自己看下当前的routes.

提问者对于答案的评价:
问题已经在其他论坛上解决了,谢谢