2013-09-27 57 views
1

我正在創建一個管理個人房地產的網絡應用程序。所以我有以下型號與其他兩個模型有着belongs_to關係的模型應該嵌套在路徑下嗎?

class Building < ActiveRecord::Base 
    attr_accessible :address, :name 
    has_many :docs 
end 

class Land < ActiveRecord::Base 
    attr_accessible :address, :name 
    has_many :docs 
end 

class Doc < ActiveRecord::Base 
    #Model for documents 
    attr_accessible :name ,:actual_file 
    has_attached_file :pdf 
    belongs_to :building 
    belongs_to :land 
end 

現在,什麼是最好的方式來路由呢?我應該在建築和土地資源中分別嵌套文檔嗎?或者是不是更好地嵌套文檔?我知道我可以使用多態關聯,但假設我不想使用它們。這個問題更多的是關於路由部分。

這是我的routes.rb

resources :lands 
    resources :buildings  
    resources :docs 

什麼是每一種方法的優勢是什麼?

回答

2

這聽起來像是Routing Concerns的好例子。

雖然我不確定這是否適用於Rails 3,並且沒有多態關係。

1

試試這個辦法...

resources :lands do 
    resources :docs 
    end 

    resources :buildings do 
    resources :docs 
    end 

然後你就可以訪問文件就像

/lands/:id/docs/:id 
/buildings/:id/docs/:id 

更具可讀性也...

查看更多有關嵌套路由here

相關問題