我目前正在学习 Ruby。我对 Java EE 有一定的了解。据我所知(据我所知),Ruby on Rails 假设每次请求都会完成整页刷新(渲染)(如果我们不涉及骨干网或远程=>true)。
所以问题是我们如何维护用户会话的状态?(不包括 cookie 或数据库持久性)
在 Java 中有一个 backingBean 的概念,它保存(直到会话存在)应用程序中不同 UI 部分的状态。
例如:假设有一个具有不同 UI 部分的应用程序
- 第一部分包含用户信息(姓名,年龄)。
- 第二部分包含他的 TODO 列表。
- 第三部分包含他的便签本。
- 第四部分包含一个输入字段。
现在假设用户在输入字段中输入一些文本并按 Enter。现在 Rail 创建控制器 (A) 的对象 (oA) 并调用该对象 (oA.m) 的特定方法。
从这里控件转到视图中的(嵌入式)ruby 代码可用的控制器对象(oA)。现在我们使用这个 oA 对象来填充视图中的动态数据。假设这个视图在一个布局中呈现,其中包含用于呈现应用程序其他 3 部分的代码。
现在,为了成功运行代码,oA 对象还应该具有布局视图所需的动态内容。
如果我能够正确解释并且上述案例对您有意义,那么下面是具体问题:您不认为随着应用程序部分的增加,每个控制器都必须为完整的应用程序提供数据。(反对不要重复自己!!)
如果我们有对应于每个 UI 部分的支持对象,那么我们将只在该特定视图的控制器中工作。
我知道我错过了一些模式,或者可能看错了。任何人都可以回答我在做什么/想/使用错误的方式。