什么是Rails Presenters文件夹?

问题描述 投票:3回答:2

什么是Rails Presenters文件夹?这个文件夹里有什么?为什么需要此文件夹?

ruby-on-rails ruby directory mvp
2个回答
3
投票

qazxsw poi是一种通常被称为模型视图演示者(MVP)的设计模式

这是模型视图控制器模式的派生,用于创建用户界面。

对于使代码更干燥的问题分离是有用的。

以下是维基百科的描述方式

model - 定义要在用户界面中显示或以其他方式操作的数据的接口。

演示者 - 作用于模型和视图。它从存储库(模型)中检索数据,并将其格式化以在视图中显示。

view - 一个被动接口,它显示数据(模型)并将用户命令(事件)路由到演示者以对该数据进行操作。

presenters

Ruby on Rails中的演示者

演示者是位于模型和视图之间的简单类,并提供了一种很好的,以DRY面向对象的方式来处理复杂的显示逻辑。

在Rails中,惯例是它们位于https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93presenter文件夹中

这是一篇有用的文章,解释了模式及其在Ruby on Rails中的使用。

app/presenters


4
投票

Presenters文件夹是您的Presenter代码所在的位置......我知道,很明显,我会解释......我认为演示者和装饰器的方式是作为模型的抽象,以便在数据属性之前按摩它们给予了观点。如果您熟悉帮助程序,那么,演示者有点像帮助者,因为他们正在为视图准备一些数据,除了帮助程序通常用作所述视图的实用程序方法,而演示者更多地是关于呈现实际属性。

这个链接很好地解释了差异:https://kpumuk.info/ruby-on-rails/simplifying-your-ruby-on-rails-code/

希望有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.