【问题标题】:Model without View: do I need a Controller in Rails没有视图的模型:我需要 Rails 中的控制器吗
【发布时间】:2012-01-31 15:48:16
【问题描述】:

我想要一个推荐模型,其中用户 A 可以将事件 X 推荐给用户 B。我计划实现它的方式是没有推荐视图。我只是在事件/显示页面上有一个用于创建操作的引用按钮,并在用户/显示页面中引用了用户进行显示。我认为没有必要为推荐创建视图。

从设计模式的角度来看,是否可以在 Events_Controller 中创建“refer”操作来调用 Referral 模型中的 create 方法,而不是将其发送到指定的控制器(即 Refferals_Controller),这将调用 Referral 模型?

更一般地说,我是否应该创建控制器以允许其他控制器与我的模型交互,即使我不需要此特定模型的任何视图?

谢谢。

【问题讨论】:

    标签: ruby-on-rails model-view-controller view model controller


    【解决方案1】:

    控制器是 http 请求的来源(通过路由之后)。没有传入请求 == 没有控制器。当控制器符合 REST 方案(索引、显示、创建...)时很好。但您也可以添加非 REST 操作(Rails 路由支持此操作:3 Non-Resourceful Routes
    与模型的所有交互都应该在模型类中进行。(编辑:我的意思是代码)

    【讨论】:

      【解决方案2】:

      您不应该创建一个控制器来将来自其他控制器的调用转发到模型。每个控制器可以有多个模型。或者每个模型有几个控制器。

      有时(如果您知道自己在做什么)甚至可以直接从视图中调用模型方法(“有些规则可以弯曲,有些可以破坏”(c)Morpheus)。

      【讨论】:

        猜你喜欢
        • 2018-06-21
        • 1970-01-01
        • 2012-09-09
        • 2011-05-06
        • 2011-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多