在 Rails 2.3中,如何测试多态控制器?
ActionController::RoutingError: No route matches {:controller=>"appointments", :id=>"281110143", :action=>"show", :doctor_id=>2}
显示你正在向名为 AppointmentsController的控制器发出请求,但根据你的路由判断:
new_admin_doctor_appointments GET/admin/doctors/:doctor_id/appointments/new(.:format) {:controller=>"admin/appointments", :action=>"new"}
edit_admin_doctor_appointments GET/admin/doctors/:doctor_id/appointments/edit(.:format){:controller=>"admin/appointments", :action=>"edit"}
admin_doctor_appointments GET/admin/doctors/:doctor_id/appointments(.:format) {:controller=>"admin/appointments", :action=>"show"}
PUT/admin/doctors/:doctor_id/appointments(.:format) {:controller=>"admin/appointments", :action=>"update"}
DELETE/admin/doctors/:doctor_id/appointments(.:format) {:controller=>"admin/appointments", :action=>"destroy"}
POST/admin/doctors/:doctor_id/appointments(.:format) {:controller=>"admin/appointments", :action=>"create"}
路由仅在管理命名空间 换句话说,Admin::AppointmentsController 中可用。
我打赌你做的是 describe AppointmentsController 而不是 describe Admin::AppointmentsController 因为你没有包含测试本身的关键部分,所以我不确定。
本文解决了一个在Rails 2.3环境中测试多态控制器时遇到的问题,即当试图访问非管理命名空间内的AppointmentsController时出现的路由错误。文章详细展示了错误信息,并解释了正确的路由配置及测试描述方法。
343

被折叠的 条评论
为什么被折叠?



