如何在自定义模块中使用模型范围?

时间:2013-08-22 05:19:29

标签: ruby-on-rails activerecord scope

在我的模型中,我定义了范围:

class MyModel < ActiveRecord::Base
  scope :accessible_for, ->(user) { where(user_id: user.id) }
end

在控制器中它完美运行:

class MyController < ActionController::Base

  def index
    @operations = MyModel.accessible_for current_user
  end

end

我想在自定义模块中使用它

module Reports
  class ReportMyModel

    def do_export(user)
      to_export = MyModel.accessible_for user
    end

  end
end

不幸的是,我在致电“do_export”后收到错误

undefined method `accessible_for' for <Class:0x000000065396d8>

那么,我该如何正确使用它?

1 个答案:

答案 0 :(得分:0)

在另一个工作站上成功运行此代码后,我重启了我的电脑,一切顺利。所以,代码中没有任何错误。