Ruby on rails 我如何创建作为。。。而且。。。对于Rails中的模型?就像Java中的接口一样
Rails通常有一些特殊的关键字,您可以将其插入到模型中,从而为其提供特殊功能。一些例子是或。我该怎么做那种巫术?我想为RefineryCMS引擎/扩展创建一个特殊的订阅选项,并为模型提供订阅功能。我还不知道如何实现这种Rails魔法,也没有看到相关的Rails指南。这些实际上是“Class”类上的实例方法。在Ruby中,当您在类定义块中时,Ruby on rails 我如何创建作为。。。而且。。。对于Rails中的模型?就像Java中的接口一样,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,Rails通常有一些特殊的关键字,您可以将其插入到模型中,从而为其提供特殊功能。一些例子是或。我该怎么做那种巫术?我想为RefineryCMS引擎/扩展创建一个特殊的订阅选项,并为模型提供订阅功能。我还不知道如何实现这种Rails魔法,也没有看到相关的Rails指南。这些实际上是“Class”类上的实例方法。在Ruby中,当您在类定义块中时,self成为该类。因为括号在方法调用中是可选的,所以可以使它们看起来很像关键字声明。所以你可以 class Class def subscribable
self
成为该类。因为括号在方法调用中是可选的,所以可以使它们看起来很像关键字声明。所以你可以
class Class
def subscribable
define_method :subscribe do
...
end
end
end
class Thing
subscribable
end
Thing.new.subscribe
看看@bjhaid有趣。有关于这个的教程吗?我对include和extend之间的区别有点模糊。有时候铁轨可能有点干,而且不是很好。有时候他们甚至一次都不重复重要的信息。啊,太好了<代码>定义方法似乎很关键。加载的订单类如何?在加载目标模型之前,您是否需要某种配置来确保您的gem/模块将这些特性添加到类中?Rails中的加载顺序可能会有问题。通常情况下,如果您使用的是Gemfile和bundler,则gems将在项目文件之前自动生成。否则,您可以将代码放入Rails目录中的初始值设定项文件中。