Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何在rails中生成关联的管理模型_Ruby_Ruby On Rails 4_Controller_Action_Models - Fatal编程技术网

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

Ruby 如何在rails中生成关联的管理模型,ruby,ruby-on-rails-4,controller,action,models,Ruby,Ruby On Rails 4,Controller,Action,Models,我有一个rails应用程序,其中CUD(创建、更新、删除)操作只能由管理员用来创建、更新或删除项目。每个人都可以使用show(read)动作 现在我只希望管理员创建其他条目。这是我的商品模型 class Item < ActiveRecord::Base has_many :entries class项

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

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

    class Item < ActiveRecord::Base
    has_many :entries 
class项
这是我的入门模式

    class Entry < ActiveRecord::Base
    belongs_to :item
类条目
在我的admin_控制器中,我需要对项目执行操作

    class Admin::ItemsController < ApplicationController
class Admin::ItemsController
现在我有两个问题

  • 我的问题是,我必须定义自己的管理员入口控制器吗?我 想是的,需要一个自己的管理项控制器

  • 如何定义允许使用项目管理的最佳方式 创建、更新或删除条目。其他人都可以看到这些条目 只看。请大家帮帮我好吗


  • 我认为有两种选择:

  • 构建允许所有
    CRUD
    操作的管理员/项目和管理员/条目控制器-但仅限于管理员。此外,还有一个公共项目和一个公共条目控制器,它们只实现了
    show
    方法
  • 每种类型只有一个控制器(没有专用的管理员控制器)。在该控制器中,使用诸如
    pundit
    cancancan
    之类的gem来确保只有管理员才能使用
    创建
    更新
    销毁
    操作

  • 我认为有两种选择:

  • 构建允许所有
    CRUD
    操作的管理员/项目和管理员/条目控制器-但仅限于管理员。此外,还有一个公共项目和一个公共条目控制器,它们只实现了
    show
    方法
  • 每种类型只有一个控制器(没有专用的管理员控制器)。在该控制器中,使用诸如
    pundit
    cancancan
    之类的gem来确保只有管理员才能使用
    创建
    更新
    销毁
    操作

  • 你好@spickermann,我将尝试选项1。谢谢您的帮助Hello@spickermann,我将尝试选项1。谢谢你的帮助