如果我們想使我們需要把它們聲明爲我們的模型liquid_methods
從液體模板訪問的方法,像這樣:獲取所有公共方法和屬性的getter和傳遞他們liquid_methods
class User < ActiveRecord::Base
liquid_methods :name, :adress, :any_method_we_want
...
的東西是我們的模型中定義了很多東西(屬性和公共方法),這將是一個非常有用的目標,當我們添加新的模型時,不要忘記將它們聲明爲liquid_methods,更不要說模型頂部的一個非常醜陋的列表。所以問題是,我想聲明所有屬性獲取器和公共方法應該被「液化」,是否有一種更奇特的方式,而不是像手動例子那樣總是手動聲明它們的液體?你會怎麼做?
獲得分數是這樣的僞代碼(可能不工作):
class User < ActiveRecord::Base
methods = self.public_methods + self.attribute_names
liquid_methods methods
...