使用模块范围外部的对象

时间:2012-12-04 04:24:22

标签: ruby ruby-on-rails-3

我有这样的代码。

class User < ActiveRecord::Base
end

module Foo
  class User
  end
end

module Foo
  class DoesSomethingWithActiveRecordUser
    def initialize user_id
      User.find(user_id)
    end
  end
end

如果我致电Foo::DoesSomethingWithActiveRecordUser.new(1),我会收到类似undefined method 'find' for Foo::User的错误消息。

如何在Foo内调用ActiveRecord用户?

感谢。

1 个答案:

答案 0 :(得分:19)

像这样:

::User.find(user_id)