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

2024-04-24

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

解决方案:

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

resources :books do
  resources :chapters
end

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

<%= link_to 'New Chapter', new_book_chapter_path(@book) %>

Rails 路由指南 http://guides.rubyonrails.org/routing.html很有帮助。

Note:如果您收到类似消息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)

您还可以使用此链接更好地理解这个概念嵌套路由 http://edgeguides.rubyonrails.org/routing.html#nested-resources

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby on Rails 3:link_创建新的嵌套资源? 的相关文章

随机推荐