未定义的方法在Rails 4应用程序中使用Class“all”

时间:2015-05-25 05:28:49

标签: ruby-on-rails ruby grape-api

我一直关注各种Ruby on rails REST API教程,特别是那些使用GRAPE gem的教程。在所有这些尝试中,我遇到了一个未定义的方法“全部”错误。我是RoR的新手,一直依赖发电机进行模型生成。以下是错误和相关代码:

未定义的方法`all'用于API :: V1 :: EmailAuth:Class

module API
  module V1
  class EmailAuth < Grape::API
    version 'v1' # path-based versioning by default
    format :json # We don't like xml anymore

    resource :email_auth do
      desc "Return list of email_auth"
      get do
        EmailAuth.all # obviously you never want to call #all here
      end
      end
    end
  end
end

可以在此处看到文件结构:http://imgur.com/A2VnevL (我的代表太低,无法发布图片)

这是我第一次在stackoverflow中发帖,如果我可以改进这个问题,请告诉我。

请注意:我已提及Undefined method `all' for ActiveSupport in Rails 4.0.0 app以及有关命名空间问题的各种类似问题,但似乎可以解决此问题。

谢谢!

1 个答案:

答案 0 :(得分:3)

如果你有一个班级Grape::API::EmailAuth,并且在这个班级中你想要加载活动记录班EmailAuth,那么你需要用两个冒号来引用它:

get do
  ::EmailAuth.all
end