Ruby on rails 在rails中使用关注点和模块有什么区别?
刚才我开始在rails中使用关注点,但我怀疑我们为什么要使用关注点,因为我们可以在模块和混合概念上实现同样的功能。因此,请告诉任何人shat是使用关注点而不是使用模块。Ruby on rails 在rails中使用关注点和模块有什么区别?,ruby-on-rails,activesupport-concern,Ruby On Rails,Activesupport Concern,刚才我开始在rails中使用关注点,但我怀疑我们为什么要使用关注点,因为我们可以在模块和混合概念上实现同样的功能。因此,请告诉任何人shat是使用关注点而不是使用模块。ActiveSupport::Concern为您的模块添加了一些方便的功能(即class\u方法)。您可以使用“纯”ruby模块,而无需扩展它。实际上,您创建了一个模块,并将其混入到一个类中。不管此模块是否扩展为::Concern,机制都是相同的。当您编写Concern时,这意味着您正在制作一个模块。我的观点是关注和模块是相似的。
ActiveSupport::Concern
为您的模块添加了一些方便的功能(即class\u方法
)。您可以使用“纯”ruby模块,而无需扩展它。实际上,您创建了一个模块,并将其混入到一个类中。不管此模块是否扩展为::Concern,机制都是相同的。当您编写Concern时,这意味着您正在制作一个模块。我的观点是关注和模块是相似的。关注点可以作为模型、控制器出现在某处,在这里您可以自己编写模块。并与通用模块一起写入lib文件夹。这两种方法都可以通过包含或扩展到类中的方式使用。这里有详细的描述:
简言之:
- 关注点允许您使用
和#included
而不是#class_方法
与其他模块self.included
创建挂钩类方法
- 关注点使您能够更好地解决相互包含的模块之间的依赖关系