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

时间:2016-10-31 22:30:50

标签: ruby ruby-on-rails-4 controller action models

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

现在我希望只有管理员创建其他条目。这是我的项目模型

    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 个答案:

答案 0 :(得分:2)

我认为有两种选择:

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