ruby-on-rails – rails项目中是否需要以下命名约定?

我的项目名称是clog,所以我将我的模型和控制器命名为:Clog :: User Clog :: Userscontroller.

这个命名惯例是强制性的吗?

最佳答案 是的,遵循命名约定有很大帮助,因为rails不仅使用它来生成其他名称,还有其他宝石.

特定于您的问题,您可能会询问是否需要将控制器命名为UserController,因为您的模型名为User.这根本不是必需的,如果它更符合您的目的,您可以称之为其他任何东西.

在这种情况下,您可能想要创建一些控制器,如下所示:

My::AccountController # for e.g.. /my/account
Admin::UsersController # for e.g. /admin/users/1

对于用户,您将自己的用户记录称为“您的帐户”,因此这更有意义.但是,管理员的观点是管理用户记录.您也可以将控制器命名为一件事,并在不同的路线上提供服务.在您的路线文件中,您可以这样做:

namespace :admin do
    resources :users, :path => "user-accounts"
end

重申一下,您的模型名称无需与控制器名称匹配.它们仅通过关联命名:UserController被理解为处理用户记录.

点赞