我需要从模型内部的方法调用控制器内部的操作。这是我在其他语言中经常做的事情(当使用 MVC 框架时),但是,我从未见过在 ruby on Rails 中这样做。该操作不会渲染任何内容,它只是更新会话变量。
这实际上并不是您在 MVC 模式中通常会做的事情。您的模型实际上应该只包含业务逻辑(和数据访问)。您能否提供一些有关您要拨打的电话以及原因的信息?通常当你尝试做这样的事情时,会闻到某种东西不在它应该在的地方的味道。
我通常是这样看待它的:
- 模型 - 这些是数据对象
还有业务逻辑的方法
- 控制器 - 这些是操作
由您的应用程序获取,它们控制
模型并告诉他们该做什么,他们
控制视图告诉它做什么
发射
- 视图 - 这是界面层,
它可以是任何格式(html、js、
xml)但它几乎没有逻辑
它
如果您尝试从模型调用控制器中的某些内容,则可能意味着模型中存在太多控制逻辑。
或者,也许您刚刚获得了一个可以在任何地方使用的方法(它是一个辅助方法,实际上与模型和控制器无关)。在这种情况下,您应该将其放在 /lib 目录中其自己的模块中。
编辑:是的,会话变量可能只应该在控制器中触摸/更新。也许您的模型中有太多控制类型的逻辑?也许重新考虑该逻辑与实际模型的关系有多密切(如果它实际上是控制器操作的一部分)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)