我的模型中几乎所有的“共享”语句都在函数中。问题是,我收到以下错误,当我需要使用更多的则在我的控制这些功能之一:为什么控制器操作应该调用一个模型方法,而不是初始查找或新的?
控制器动作应该调用一个模型的方法除了初始 发现或新
和IDE不断深入解释:
该检查警告说,如果控制器动作包含多于一个 模型方法调用,初始.find或之后。新。建议您使用 来实现模型类中的所有业务逻辑,并使用 一种方法来访问它。
这是否意味着所有的逻辑都应该放在更复杂的模型函数中?我认为控制器的工作是调用模型函数并将结果传递给视图。
如果我将模型功能代码放回控制器,一切都会正常工作,但是在我的所有控制器操作中,我将得到代码重复。
那么,这里的正确方法是什么?
那么,是否有定义何时在控制器级别创建新模型方法或共享方法的规则?实际上,我在我的控制器中使用的唯一方法是默认的方法(新建/编辑/更新/等) – gotqn
我没有注意到硬性和快速的规则,只有“薄控制器“和”不胖模型“。再次,除了你提到的两个选择之外,另一个选择是创建一个供模型使用的新类,以便您不需要控制器或模型中的其他方法。 –