我正在使用Rails 4.2.3。我在我的config/routes.rb
文件
resources :my_objects do
get "import"
end
并在我的app / controllers / my_objects_controller.rb文件中定义了这个
def import
puts "starting"
service = XACTEService.new(“Stuff”, '2015-06-01', 'Zoo')
service.process_my_object_data
puts "finished"
end
当我访问http://localhost:3000/my_objects/import时,我收到此错误:
找不到MyObjectsController的错误动作'show'。
我没有在日志文件中看到import
操作中的“puts”语句。我还需要做些什么才能调用import
方法?
答案 0 :(得分:0)
import
路由名称被视为show
的参数,因为路由未正确定义。检查rake routes
的输出,看看它在这种情况下实际做了什么。
相反,您需要像这样定义您的路线:
resources :my_objects do
collection do
get "import"
end
end
或者像这样:
resources :my_objects do
member do
get "import"
end
end
Rails Routing from the Outside In指南中有一个名为Adding More RESTful Actions的部分,可帮助您确定哪些选项适合您的应用。