什麼是:: Base基本部分的意思是什麼< ActiveRecord :: Base class declaration? 我是新來的紅寶石,從我迄今爲止收集到的,應該使用ActiveRecord人<。 謝謝。::基本部分ActiveRecord :: Base中的含義
回答
:: Base的是模塊的ActiveRecord類。模塊所做的一件事是在Ruby中提供命名空間。在Ruby中,您不會從模塊繼承,但可以使用include語句混合使用它。
我可以建議拿起Pickaxe的書或閱讀Why's (Poignant) Guide to Ruby。
Ruby,::
訪問靜態類或模塊常量。 ActiveRecord::Base
指示ActiveRecord
類或模塊有一個名爲Base
的靜態內部類,您正在擴展。
編輯:麥克指出,在這種情況下ActiveRecord
是一個模塊...
ActiveRecord的定義爲Rails的一個模塊,http://github.com/rails/rails/tree/master/activerecord/lib/active_record/base.rb – 2008-12-01 12:43:42
::
是一個一元運算符,它允許您訪問另一個類或模塊中定義的常量,模塊或類。它用於提供名稱空間,以便方法和類名不會與其他作者的其他類發生衝突。
當你看到的ActiveRecord :: Base的Rails中這意味着Rails中ActiveRecord::Base
是這樣
module ActiveRecord
class Base
end
end
這意味着類稱爲Base
是模塊ActiveRecord
,然後裏面引用as ActiveRecord::Base
爲了更好地理解::運算符,只需從tutorialspoint.com去看這個例子:
MR_COUNT = 0 # constant defined on main Object class
module Foo
MR_COUNT = 0
::MR_COUNT = 1 # set global count to 1
MR_COUNT = 2 # set local count to 2
end
puts MR_COUNT # this is the global constant
puts Foo::MR_COUNT # this is the local "Foo" constant
- 1. Xcode中Base SDK的含義
- 2. 在ActiveRecord :: Base中訪問常量定義
- 3. ActiveRecord :: Base的未定義方法`isolation_level':類
- 4. 未定義的方法#sanitize ActiveRecord :: Base
- 5. 比較ActiveRecord :: Base和ActiveRecord
- 6. 擴展從ActiveRecord :: Base
- 7. ActiveRecord :: Base deprecated destroy method
- 8. Rails擴展ActiveRecord :: Base
- 9. Base ClearCase路徑含義
- 10. 擴展的ActiveRecord :: Base的
- 11. 理解的ActiveRecord :: Base類名
- 12. rake中止!對於ActiveRecord :: Base,未定義的方法`migration_error ='
- 13. Rails activerecord全部或部分
- 14. 如何在Rails中使用ActiveRecord :: Base的
- 15. Base * p = new(buf)Base的含義是什麼?
- 16. ActiveRecord :: Base before_validation with conditional not triggered
- 17. ActiveRecord :: Base Extension不工作
- 18. ActiveRecord :: Base Class不可變?
- 19. Laravel如何在基本控制器中包含部分
- 20. 未定義的方法`arel_attributes_values'上課'的ActiveRecord :: Base的」
- 21. 在Ruby中的基本搜索Sinatra ActiveRecord
- 22. 擴展的ActiveRecord :: Base的兩個干將
- 23. 初始化常數的ActiveRecord :: Base的:: StrictgitSanitizer
- 24. 理論/理論背後的ActiveRecord :: Base
- 25. ActiveRecord :: Base建立與Redis的連接
- 26. 可排序的UUID和覆蓋ActiveRecord :: Base
- 27. 基數中「基數」一詞的含義
- 28. Padrino中的ActiveRecord部分更新
- 29. 對多個表的ActiveRecord :: Base.transaction的含義
- 30. 爲什麼在文檔中未列出ActiveRecord :: Base中定義的所有方法?
邁克,感謝, 我真的需要拿起鎬,雙關語;-) – Valentin 2008-12-01 12:49:20