我有一些我正在修改的继承代码.但是,我看到一些奇怪的东西(对我来说).
我看到一些像这样的代码:
::User.find_by_email(params[:user][:email]).update_attributes(:mag => 1)
Run Code Online (Sandbox Code Playgroud)
我从未见过这样的东西(我是Ruby on Rails的新手).这是做什么的,为什么我的User.find_by_email(params[:user][:email]).update_attributes(:mag => 1)
工作没有?错误说明了User
常量.
如果有帮助,我正在使用Rails 2.3.5.
Gar*_*eth 21
::
是一个范围解析运算符,它实际上意味着"在命名空间中",所以ActiveRecord::Base
意味着" Base
,在命名空间中ActiveRecord
"
在任何名称空间之外解析的常量意味着它听起来完全是什么 - 根本不在任何名称空间中的常量.
它用于代码可能不明确的地方:
module Document
class Table # Represents a data table
def setup
Table # Refers to the Document::Table class
::Table # Refers to the furniture class
end
end
end
class Table # Represents furniture
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1234 次 |
最近记录: |