未找到模块中的控制器操作

时间:2014-06-11 19:07:52

标签: ruby-on-rails ruby-on-rails-3 model-view-controller

所以我将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重复。可能导致这种情况的任何想法?

1 个答案:

答案 0 :(得分:1)

这是一只红鲱鱼。随着Rails的介绍,引入了ActionController :: Metal,它定义了def status

所以我相信它正在爆炸,因为Rails现在正试图使用​​我的方法来获取HTTP状态代码并且因为它没有返回有意义的东西而爆炸。将重构。