Ruby on Rails 3:link_to创建新的嵌套资源?

我试图在我的Rails 3应用程序中创建一个新的嵌套资源的链接,但我无法弄明白。 链接到新嵌套资源的语法是什么

解:

确保您的资源已正确嵌套在路径文件中。

resources :books do resources :chapters end 

然后在您的视图脚本中,您可以这样调用它:

  

关于路由的Rails指南非常有帮助。

注意:如果您收到一条消息,例如Couldn't find Book without an ID ,则问题不在于链接,而是控制器中的代码。

 def new @book = Book.find(params[:book_id]) #instead of :id @chapter = @book.chapter.new respond_with(@chapter) end 

在路线上做出改变

 map.resources :books do |book| book.resources :chapters end 

然后使用它

 link_to new_book_chapter_path(@book) 

您还可以使用此链接了解更好的嵌套路由概念