gpt4 book ai didi

ruby-on-rails - Rails 模型调用 Controller Action

转载 作者:行者123 更新时间:2023-12-03 16:14:59 28 4
gpt4 key购买 nike

我需要从模型内部的方法调用 Controller 内部的 Action 。这是我在其他语言中经常做的事情(在使用 MVC 框架时),但是,我从未见过在 ruby​​ on rails 中这样做过。该操作不呈现任何内容,它只是更新 session 变量。

最佳答案

这并不是您通常在 MVC 模式中会做的事情。您的模型实际上应该只包含业务逻辑(和数据访问)。您能否提供一些有关您要调用的内容以及原因的信息?通常当你试图做这样的事情时,它是一种气味,有些东西不在它应该在的地方。

这通常是我看到它的方式:

  • 模型 - 这些是数据对象
    也有业务逻辑的方法
  • Controller - 这些是 Action
    由您的应用程序拍摄,他们控制
    模型并告诉他们该做什么,他们
    控制 View 告诉它要做什么
    发射
  • 查看 - 这是接口(interface)层,
    它可以是任何格式(html、js、
    xml) 但它的逻辑很少

  • 如果您尝试从模型中调用 Controller 中的某些内容,则可能意味着您的模型中有太多控制逻辑。

    或者,也许,你刚刚得到了一个可以在任何地方使用的方法(它是一个辅助方法,它实际上与模型和你的 Controller 无关)。在这种情况下,您应该将它放在/lib 目录中的自己的模块中。

    编辑:是的, session 变量可能应该只在 Controller 中被触摸/更新。也许您的模型中有太多控制类型的逻辑?如果它实际上是 Controller 操作的一部分,也许重新考虑该逻辑与实际模型的关系有多密切。

    关于ruby-on-rails - Rails 模型调用 Controller Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3522587/

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