2016-10-31 8 views
0

У меня есть приложение rails, где действия CUD (create, update, delete) могут использоваться администратором для создания обновления или удаления элемента. Действие show (read) может использоваться всеми.howto сгенерировать связанные модели администратора в рельсах

Теперь я хочу, чтобы только администратор создавал другие записи. это моя модель вещи

class Item < ActiveRecord::Base 
    has_many :entries 

И это моя запись модель

class Entry < ActiveRecord::Base 
    belongs_to :item 

В моем admin_controller для деталей я имею действие нужно.

class Admin::ItemsController < ApplicationController 

Теперь у меня есть два вопроса

  1. Мой вопрос, есть я, чтобы определить собственный контроллер ввода администратора? I думаю, что у вас есть собственный контроллер-контроллер.

  2. Как наилучшим образом определить, что item_admin позволяет создавать, обновлять или удалять записи. все остальные могут записи только видеть. можете мне все помочь?

ответ

2

Я думаю, что есть два варианта:

  1. Построить админ/пункты и контроллер администратора/запись, позволяющие все CRUD операций - но только для администраторов. Кроме того, есть публичные элементы и контроллер общедоступных записей, которые имеют только метод show.
  2. Имейте только один контроллер на тип (без специального контроллера администратора). Внутри этого контроллера используйте драгоценные камни, например pundit или cancancan, чтобы гарантировать, что только администраторы могут использовать действия create, update и destroy.
+0

Hello @spickermann, я попробую вариант 1. Спасибо за вашу помощь – amarradi