加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails:我需要为每个型号配备一个控制器吗?

发布时间:2020-12-17 03:37:39 所属栏目:百科 来源:网络整理
导读:我有一个有4个型号的Rails应用程序.我只在一个控制器动作中访问这4个模型.我目前有4个不同的控制器来处理这些模型.我想知道将这4个动作填充到一个控制器中是不是不好的做法. 当前设置: class GmDataController ApplicationController def dashboard @data =
我有一个有4个型号的Rails应用程序.我只在一个控制器动作中访问这4个模型.我目前有4个不同的控制器来处理这些模型.我想知道将这4个动作填充到一个控制器中是不是不好的做法.

当前设置:

class GmDataController < ApplicationController
    def dashboard
      @data = GmData.all
    end
end

class GmRetentionController < ApplicationController
    def dashboard
      @data = GmRetention.all
    end
end

class GsDataController < ApplicationController
    def dashboard
      @data = GsData.all
    end
end

class GsRetentionController < ApplicationController
    def dashboard
      @data = GsRetention.all
    end
end

建议设置:

class DashboardController < ApplicationController
    def gm_data_dashboard
      @data = GmData.all
    end

    def gm_retention_dashboard
      @data = GmRetention.all
    end

    def gs_data_dashboard
      @data = GsData.all
    end

    def gs_retention_dashboard
      @data = GsRetention.all
    end
end

解决方法

除非你有充分的理由,否则你应该坚持像index,new,show等常规名称.什么是仪表板?它看起来就像我的索引.请记住,您可以通过操作路由表来创建所需的任何索引操作的路径,但在内部它应该是一致的并遵循约定以确保它是可维护的.

作为一个注释,除了一开始,你的控制器很少是微不足道的.随着时间的推移,你会添加诸如分页,搜索,过滤,排序等一些其他代码,这些代码会让你的omni-controller真的很尴尬.

不要担心创建微小的控制器.这是好事.模型和控制器之间具有一对一的关联消除了很多关于谁负责该特定模型的混淆.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读