gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 05:35:33 28 4
gpt4 key购买 nike

我们有一个站点,其中有一个后端管理界面和一个显示我们信息的前端。我们正在使用 Devise 来保护身份验证。

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

我们的两种方法是:

  • 管理 View 文件夹包含所有 View 特定代码, Controller 文件夹中的管理文件夹包含控制管理特定访问的所有 Controller 。
  • 一个带有一组 View 和 Controller 的条件逻辑系统,带有检查用户是否处于管理员模式的 if 语句。

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

    最佳答案

    第一个解决方案更好,但是对于这些情况,创建了 namespaces当您需要区分用户站点和管理区域时,最佳实践是使用命名空间。阅读更多相关信息 here
    您的目录结构应如下所示:

    controllers/
    |--admin/
    |--posts_controller.rb
    在您的 route ,您将所需的一切放入 admin 命名空间:
    namespace :admin do
    resources :posts, :comments
    end
    您的 Controller 应该有一个 admin文件夹,管理区域中的 Controller 将如下所示:
    class Admin::PostsController < ApplicationController
    end
    您还应该有一个 admin您的 View 中的文件夹,您可以在其中放置相应的 View :
    views/
    |--admin/
    |--posts/
    |--index.html.erb
    |--...
    您也可以命名模型,但这取决于您的需要,当您需要具有相同名称的不同模型时,这很好。例如,如果管理员用户需要不同的表,普通用户需要不同的表。我个人不会使用模型命名空间,只是在非常合理的情况下。
    我认为第二个选项会引起很多头痛,你会迷失在 if 语句中,我根本不建议这样做。

    关于ruby-on-rails - 后端管理系统设置的 Rails 最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7441939/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com