如果我们想让方法可以从流动模板中访问,我们需要像liquid_methods
在我们的模型中一样声明它们,如下所示:
class User < ActiveRecord::Base
liquid_methods :name, :adress, :any_method_we_want
...
问题是我们的模型定义了很多东西(属性和公共方法),并且当我们添加新方法时,管理并且不要忘记将它们声明为liquid_methods,更不用说在我们模型的顶部。所以问题是,我想声明所有属性 getter 和公共方法都应该“流动化”,有没有比总是手动声明它们以便像示例中那样可以访问液体更花哨的方法?你会怎么做?
要在伪代码中得到这样的观点(可能不起作用):
class User < ActiveRecord::Base
methods = self.public_methods + self.attribute_names
liquid_methods methods
...