1

我正在创建一个用于管理个人房地产的网络应用程序。所以我有以下型号

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

现在,最好的路由方法是什么?我应该在建筑和土地资源中分别嵌套文档吗?还是根本不嵌套文档更好?我知道我可以使用多态关联,但假设我不想使用它们。这个问题更多的是关于路由部分。

这是我的路线.rb

  resources :lands
  resources :buildings       
  resources :docs

每种方法的优点是什么?

4

2 回答 2

2

这听起来像是Routing Concerns的一个好案例。

虽然我不确定这在 Rails 3 中是否有效并且没有多态关系。

于 2013-09-27T11:47:17.197 回答
1

试试这个方法...

  resources :lands do
    resources :docs
  end

  resources :buildings do
    resources :docs
  end

然后你可以访问像

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

也更具可读性...

在此处查看有关嵌套路由的更多信息

于 2013-09-27T11:49:21.313 回答