如何在 rails 中生成关联的管理模型

howto generate associated admin models in rails

我有一个 rails 应用程序,其中 CUD (create, update, delete) 操作只能由管理员用来创建更新或删除项目。每个人都可以使用显示(阅读)动作。

现在我希望只有管理员才能创建其他条目。这是我的商品型号

    class Item < ActiveRecord::Base
    has_many :entries 

这是我的入门款

    class Entry < ActiveRecord::Base
    belongs_to :item

在我的 admin_controller 项目中,我需要采取行动。

    class Admin::ItemsController < ApplicationController

现在我有两个问题

  1. 我的问题是,我必须定义自己的管理入口控制器吗?我 认为是的,需要一个自己的管理项目控制器。

  2. 如何定义允许 item_admin 的最佳方式 创建、更新或删除条目。其他人都可以参赛 只见。大家能帮帮我吗?

我认为有两种选择:

  1. 构建一个 admin/items 和一个 admin/entries 控制器,允许所有 CRUD 操作 - 但仅供管理员使用。此外还有一个 public 项目和一个 public 条目控制器,它们只实现了 show 方法。
  2. 每种类型只有一个控制器(没有专用的管理控制器)。在此控制器中使用 punditcancancan 之类的 gem 以确保只有管理员可以使用 createupdatedestroy 操作。