我有一个资源Library
和一个资源Books
。显然,图书馆可以有很多书。像Library.first.books
这样的东西很完美。
在我的routes.rb
文件中,我有:
resources :libraries
resources :books
我真正希望能够做的是请求像/library/3/books
这样的内容,并获取库中ID为3的所有书籍。我试过这个:
resources :libraries, :shallow => true do
resources :books
end
resources :books
但是当我请求/library/3/books
时,我得到了所有的书籍,而不仅仅是图书馆的三本书。是否有内置/简单的方法来实现这一目标?
答案 0 :(得分:0)
/ library转到索引 / library / 3去展示 / library / 3 / books转到带有params [:id] = 3的书籍。你必须渲染@books = Library.find(3).books。
答案 1 :(得分:-1)
我建议你建立另一个模型作为关系模型。 然后使用:
has_many :book, through: :somemodel
它就像标记http://railscasts.com/episodes/382-tagging
一样通过这种方式,您无需担心嵌套路由。