2009-10-17 4 views
0

이 Rails 모델이 있습니다. (명확성을 위해 매개 변수가 제거되었습니다.)폴더 형 모델 구조는 어떻게 처리 할 수 ​​있습니까?

class Folder < ActiveRecord::Base 
    belongs_to :parent, :class_name => :folder 
    has_many :children, :class_name => :folder 
end 

이 모델을 파일 시스템 폴더처럼 사용하고 싶습니다. 이를 가능하게하기 위해 라우트와 컨트롤러를 어떻게 구성해야합니까?

답변

1

1) 모델에 관해서는 : 경로에 관해서는 acts_as_tree

2) 체크 아웃 :

map.folder '/folders/*path', :controller => 'folders', :action => 'show' 

같은과 FoldersController에 뭔가를,

def show 
    # params[:path] contains an array of folder names 
    @folder = Folder.root 
    params[:path].each |name| 
    @folder = @folder.children.find_by_name(name) or raise ActiveRecord::RecordNotFound 
    end 
    # there you go, @folder contains the folder identified by the path 
end 
관련 문제