這是其中一個「爲什麼事情在某種方式下工作」的問題。爲什麼視圖代碼不能包裝在類中?
由於Rails是純粹面向對象的語言,因此控制器代碼,模型代碼,幫助代碼,遷移代碼等都封裝在類中。但不是查看代碼。
所以我想知道:Rails如何知道視圖代碼屬於Active View class?這在內部是如何工作的?
這是其中一個「爲什麼事情在某種方式下工作」的問題。爲什麼視圖代碼不能包裝在類中?
由於Rails是純粹面向對象的語言,因此控制器代碼,模型代碼,幫助代碼,遷移代碼等都封裝在類中。但不是查看代碼。
所以我想知道:Rails如何知道視圖代碼屬於Active View class?這在內部是如何工作的?
所有紅寶石運行文件包含在類中,只需運行包含此文件:
puts self.class.name
,你會看到你的代碼被包裝在一個Object
類在執行時。
非常感謝 - 奇怪的是,'self.class?' 放了一個類,但'self.class.name'沒有放置任何東西。怎麼來的? – weltschmerz 2013-03-27 01:37:07
'把self.class.name'打印給我的對象。 Ruby 1.9.3 – 2013-03-27 01:44:01
沒有爲我提供任何東西 - 在這裏使用相同的ruby版本 – weltschmerz 2013-03-27 01:46:16
查看Rails代碼中的render調用。有一個Railscasts的ActionView的演練。 – cpuguy83 2013-03-27 01:09:53