所以我将Rails 2应用程序升级到Rails 3.2,这大部分都很顺利。但是,我有一个处理上传导入文件的控制器ImportsController,它使用一个模块Importable中的一些动作,它们为另一个控制器提供相同的动作。
class ImportsController
# standard REST stuff
include Importable
end
module Importable
def status
# code to return json has of state machine status
end
end
# routes
resources :imports do
member do
get :status
end
end
爆发的是:The action 'status' could not be found for ImportsController
。如果我要说,将状态操作复制到ImportsController,一切都很好,但是我必须在第二个控制器中做同样的事情,所以boo重复。可能导致这种情况的任何想法?
答案 0 :(得分:1)
这是一只红鲱鱼。随着Rails的介绍,引入了ActionController :: Metal,它定义了def status
所以我相信它正在爆炸,因为Rails现在正试图使用我的方法来获取HTTP状态代码并且因为它没有返回有意义的东西而爆炸。将重构。