Rails大量使用自動生成各種方法和變量。在我自己的私人筆記中,我將這些稱爲dynamic methods
,但這些東西的官方名稱是什麼?建立這樣的關係自動生成的方法或變量的正確術語?
:
class Carriage < ActiveRecord::Base
# attrs: id, wheels, spare
has_one :horse
end
class Horse < ActiveRecord::Base
# attrs: id, carriage_id, name
belongs_to :carriage
end
意味着你可以這樣做:
有些dynamic methods
例子
> Carriage.create(wheels: 2).create_horse(name: "Fledge")
在這個例子中,create_horse
將是dynamic method
又如:
如果我要建立一個模型方法車輪添加到Carriage
:
class Carriage < ActiveRecord::Base
self.wheels = wheels + 1 if spare == true
end
我有機會獲得一個intance的屬性,在各自dynamic
變量:wheels
和spare
。 id
也適用於該方法。我稱這些dynamic
變量,但他們的官方名稱是什麼?
如果有一個官方的名字,我希望能在[docs]中找到它們(http://guides.rubyonrails.org/association_basics.html#detailed-association-reference),但我沒有看到它們叫做除了方法之外的任何東西 – Dhaulagiri
個人而言,我將它們稱爲「魔術方法」,因爲Rails爲您創建了「像魔術一樣」,但這可能不是標準的,比方說。 – MrTheWalrus
哈哈我喜歡:) – Starkers