我的 routes.rb 文件中有以下代码:
resources :wbs_nos, except: [:new, :create] do
collection { get 'wbs_tpr_filtered' }
end
resources :task_plan_requests do
resources :wbs_nos, only: [:new, :create]
collection do
get :auto_complete_for_wbs_number_wbs_number
get :auto_complete_for_task_plan_request_fabrication_work_order_number
get :auto_complete_for_task_plan_request_requestor_building
get :auto_complete_for_task_plan_request_requestor_name
get :auto_complete_for_task_plan_request_requestor_email
end
end
在 Chrome 中,当我转到 localhost:3000/wbs_nos/wbs_tpr_filtered 时,请求被正确发送到 WbsNosController 中的 was_tpr_filtered 操作。
在 Safari 6 中,它会将我发送到 WbsNosController 中的 show 操作,并且 rails 给出了错误:
找不到 id=wbs_tpr_filtered 的 WbsNo。
当我运行 rake 路线时,我得到以下信息:
wbs_tpr_filtered_wbs_nos GET /wbs_nos/wbs_tpr_filtered(.:format) wbs_nos#wbs_tpr_filtered
有任何想法吗?