2013-10-25 3 views
0

AdminController으로 처리되는 "관리자 제어판"페이지가 있습니다. 제어판에서 두 가지 작업을 수행 할 수 있습니다 (create_productcreate_order). 각 오브젝트에 대한 양식이 있으며, 양식을 제출하면 새 레코드가 데이터베이스에 삽입됩니다.여러 개의 "만들기"페이지를 만드는 레일 방법

이것을 구현하기위한 레일스 방법은 무엇입니까? 제어판에서 create_productcreate_order 링크를 클릭하여 액세스 할 수있는 적절한보기와 함께 CreateProductControllerCreateOrderController을 생성합니까?

레일 방식으로 단일 컨트롤러를 사용하여 두 워크 플로우를 처리하는 방법을 설명합니까? 어느 시점에서 각 양식에 대해 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

routes.rb에서 자원을 정의하여 "admin/products/create"와 같은 경로를 만들 수 있습니다. 블로그 게시물에 대한 귀하의 우려는 이름에 대한 논쟁 일 뿐이라고 생각합니다. db가 공격을 받으면 RESTful 리소스의 오류가 아닙니다. –

+0

'admin/product'라는 모델을 생성했는데'scope : admin'을 가져 와서'ProductController'를 찾지 못했습니다. 대신'namespace : admin'을 시도해 보았습니다. – MxyL

관련 문제