5
我有這樣的代碼。使用模塊外部的對象
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用戶?
謝謝。
我知道我試過了,它沒有工作。但現在看來。你能指出一些關於爲什麼/這是幹什麼的文檔? – mwoods79
By prepending ::您正在訪問頂級名稱空間。否則,ruby會查看當前模塊。 –
我找不到任何關於此的文檔,但它很簡單,就像@ylan-s指出的那樣。它只是將引用錨定到類/模塊名稱空間中的根。 –