2013-10-25 4 views
0

У меня есть страница «admin control panel», которая обрабатывается AdminController. Вы можете сделать две вещи на панели управления: create_product и create_order. Будут формы для каждого объекта, и когда вы отправляете форму, она будет вставлять новые записи в базу данных.Рельсы способ создать несколько страниц «создать»

Что такое способ Rails для реализации этого? Сгенерировать ли я CreateProductController и CreateOrderController вместе с соответствующим видом, доступ к которым можно получить, нажав на ссылки create_product и create_order с панели управления?

Способ Rails описывает способ обработки обоих рабочих процессов с использованием одного контроллера? В какой-то момент мне нужно будет определить метод post для каждой формы, поэтому кажется, что создание отдельных контроллеров - это самый простой способ настроить требуемое поведение, а также детали маршрутизации.

ответ

1

Продукт и заказ - все ресурсы при наличии контроллера. Лучший способ - использовать ресурсы RESTful. Вы также можете добавить пространство имен для упрощения идентификации.

class Admin::ProductsController < AdminController 

    def create 
    end 

    def new 
    end 

    # And #show, #index, #destroy etc. 
end 

class Admin::OrdersController < AdminController 

    def create 
    end 

    def new 
    end 

end 
+0

Вы можете использовать 'scope: admin', чтобы определить ресурс в route.rb, чтобы создать путь как« admin/products/create ». Для вашего беспокойства в блоге я думаю, что это просто дискуссия по именам. Если атаковать db, это не будет ошибкой ресурса RESTful. –

+0

Я сгенерировал модель под названием 'admin/product' и не смог получить' scope: admin', чтобы найти мой 'ProductController', но вместо этого я попробовал' namespace: admin' и нашел его. – MxyL

Смежные вопросы