在rails中为奇异名称控制器和模型定义资源的正确方法?

时间:2015-02-04 23:29:48

标签: ruby-on-rails

如果我有articles controllerarticle model,我会在resources: articles

中创建config/routes.rb

但是我要说我有一个单独的控制器,我想用于控制面板,例如control_panel_controller.rb(不是control_panel s _controller.rb)和匹配的模型那个控制器control_panel.rb我是否只使用resources: control_panel作为正确的ruby约定,或者我必须以其他方式执行此操作?

1 个答案:

答案 0 :(得分:0)

您可以指定单数路由并覆盖预期的默认控制器名称。

以下是我设置主页的方式:

resource :home, only: [:show], controller: 'home'

class HomeController < ApplicationController
...
end

这提供了一个名为“home_path”的帮助程序,可以生成“/ home”URL。

查看Rails路由指南;它确实涵盖了这些选项,但它们并不是非常明显。

编辑:顺便说一下,您的模型名称完全独立于控制器/路径。当然,在可能的情况下使它们匹配是很好的惯例,但是随着应用程序的增长,通常会有许多模型或服务对象与控制器没有直接对应,并且对它有CRUD操作。