ruby-on-rails – 用于后端管理系统设置的Rails最佳实践?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 用于后端管理系统设置的Rails最佳实践?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们有一个网站,我们有一个后端管理界面,以及一个显示我们信息的前端.我们正在使用Devise来保护身份验证.

后端应该允许我们的模型对象的正常CRUD类型编辑.视图和布局也与前端完全不同.在Rails 3中实现这一点的最佳实践是什么?

我们的两种方法是:

>管理视图文件夹包含所有视图特定代码,以及控制器文件夹中的管理文件夹包含控制管理员特定访问的所有控制器.
>具有一组视图和控制器的条件逻辑系统,if语句检查用户是否处于管理模式.

哪个更推荐,或者如果我们错过了另一种方法,请告诉我.

解决方法

第一种解决方案更好,但是对于这些情况创建了命名空间,最佳实践是在需要用户站点和管理区域之间的相关区分时使用命名空间.阅读更多关于它 here

您的目录结构应如下所示:

controllers/
     |--admin/
        |--posts_controller.rb

在您的路线中,您将所需的一切放入管理员命名空间:

namespace :admin do
  resources :posts,:comments
end

您的控制器应该有一个管理员文件夹,管理区域中的控制器将如下所示:

class Admin::PostsController < ApplicationController
end

您还应该在视图中有一个admin文件夹,您可以在其中放置相应的视图:

views/
   |--admin/
        |--posts/
             |--index.html.erb
             |--...

您也可以命名模型,但这取决于您的需求,当您需要具有相同名称的不同模型时,这是很好的.例如,如果管理员用户需要不同的表,普通用户需要不同的表.我个人不会使用模型命名空间,只是在非常合理的情况下.

我认为第二种选择会引起很多麻烦,你会在if语句中丢失,我根本不建议这样做.

猜你在找的Ruby相关文章