gpt4 book ai didi

ruby-on-rails - 为什么 Controller 操作应该调用一个模型方法而不是初始查找或新方法?

转载 作者:数据小太阳 更新时间:2023-10-29 07:07:09 26 4
gpt4 key购买 nike

我的模型中的函数几乎包含所有“共享”语句。问题是,当我需要在我的 Controller 中使用多个功能时,出现以下错误:

Controller action should call one model method other than an initial find or new

IDE 会更深入地解释:

This inspection warns if a controller action contains more than one model method call, after the initial .find or .new. It’s recommended that you implement all business logic inside the model class, and use a single method to access it.

这是否意味着所有的逻辑都应该放在更复杂的模型函数中?我一直认为 Controller 的工作是调用模型函数并将结果传递给 View 。

如果我将模型函数代码放回 Controller ,一切都会正常,但我会在所有 Controller 操作中得到代码重复。

那么,这里正确的方法是什么?

最佳答案

警告消息确实意味着逻辑应该放在单个模型函数中,但不一定要放在更复杂的函数中。为避免模型重复和/或“胖模型”问题,您可能需要引入模型所依赖的其他类。

是的,控件的工作是调用模型函数,但只是作为一个薄薄的单板,除了初始创建/查找之外,根据每个 Controller 操作一个模型函数的检查指南。

我不确定我是否理解您关于如果您将功能移回原处会在 Controller 中获得代码重复的评论,因为您始终可以在 Controller 级别引入共享功能。但同样,这不是根据需要使用支持类的“瘦 Controller ”和“合理瘦模型”的推荐方法。

关于ruby-on-rails - 为什么 Controller 操作应该调用一个模型方法而不是初始查找或新方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17899433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com