2013-07-03 2 views
1

제품을 관리하는 관리자를 만들 때 제품 컨트롤러 또는 모델에 대한 관리자 네임 스페이스 만 만들어야합니까? 나는 또한 내가 새로운 행동 양식에 대해 다음 코드를 사용할 수없는 모델의 네임 스페이스가있는 경우모델의 경우 Ruby on Rails 네임 스페이스 또는 컨트롤러 만

:

<%= form_for [:admin, @product] do |f| %> 

나는

<%= form_for @product do |f| %> 

과에서를 사용해야합니다 컨트롤러

def new 
    @product = Admin::Product.new 
end 

가장 좋은 방법은 무엇입니까?

답변

3

이 될 것이다 가장 좋은 방법

routes.rb

namespace :admin do 
    resources :products 
end 

컨트롤러 관리/products_controller.rb

class Admin::ProductsController < ApplicationController 
    def new 
    @product = Product.new 
    end 
end 

나는 당신이 모델을 네임 스페이스한다고 생각하지 않습니다 관리자

+0

모델을 네임 스페이스에서 쉽게 가져올 수 있습니까? 아니면이를 파괴하고 만들어야합니까? 다시. – user2255273

+0

당신은 내가 UR 네임 스페이스 모델을 만든 방법을 보여줄 수 있습니까? 당신은 그것을 – AnkitG

+1

과 함께 질문을 업데이트 할 수 있습니다. 나는 그것을 파괴하고 관리자 네임 스페이스에없는 새로운 모델을 만들었습니다. 매력처럼 작동합니다! 고마워요! – user2255273

1

Productadmin에 사용 된 것으로, 다른 모든 곳에서 사용되는 Product과 같습니다. 따라서 대답은,이 경우 네임 스페이스의 네임 스페이스가되어서는 안된다는 것입니다.

관련 문제