【问题标题】:What modules to include to make a selectable controller in Rails?在 Rails 中制作可选控制器需要包含哪些模块?
【发布时间】:2020-03-17 15:25:51
【问题描述】:

我想在 Rails 中实现一个对象能力系统,这意味着对几十个不同的方面对象进行单一路由调度:

resources :facets, param: :swissnumber

按照Rails Routes - Select controller dynamically 中的建议在路由中通过代码实现这一点似乎非常不切实际,所以我更喜欢在 Facet 模型中使用 STI。

我会有一个准系统控制器,它只会将动作分派到方面:

def show
  Facet.find(params[:swissnumber]).show(request,params)
end

所以在Facet 模型的方法中,我希望能够调用控制器的典型方法,例如headrender。我可能需要哪些模块?

目前,我正在寻找我应该包含哪些模块,从 ActionController::HeadActionController::Rendering 开始,但它们还不够,我想知道是否有一个伞形模块。

或者我的Facet 应该扩展ActionController::API::Base 并包含来自ActiveRecord 的模块? (我处于多重继承场景中……)

【问题讨论】:

    标签: ruby-on-rails capability


    【解决方案1】:

    我意识到我正在寻找复制典型控制器源代码的语法,但它只是隐式对象上的方法,所以简单的解决方案是将控制器传递给 facet,我在其中执行 controller.render 或 @987654322 @等等……

    【讨论】:

      猜你喜欢
      • 2014-03-28
      • 1970-01-01
      • 2017-12-01
      • 2018-09-15
      • 2023-03-11
      • 2011-02-22
      • 2020-01-02
      • 1970-01-01
      • 2010-11-18
      相关资源
      最近更新 更多