学习 ruby on rails,玩转路线和路径方法。我用“Book”和“Author”模型构建了一个相当简单的应用程序。每个作者可以有很多本书,每本书都属于一个作者,等等。
我有一个作者控制器,其方法 #list 列出了所有作者。当它这样做时,它也会呼应他们所有的书。现在我希望每本书都使用我找到的这种漂亮的路径方法指向书籍#show。
这是我的片段:
<% @authors.each do |author| %>
<li><%= author.name %></li>
<ul>
<% author.books.all.each do |book| %>
<li><%= link_to book.name, controller: :books, action: :show, id: book.id %></li>
<% end %>
</ul>
<% end %>
有了这个link_to book.name, controller: :books, action: :show, id: book.id
它可以正常工作,但有些事情告诉我可以更容易地实现相同的目标。如果我用books_show_path(book)
它就行不通。
我的路线如下所示:
根到:'作者#list'
match 'authors/list' => 'authors#list'
match 'books/list' => 'books#list'
match 'authors/:id/delete' => 'authors#delete'
match 'authors/:id/show' => 'authors#show'
match 'books/:id/show' => 'books#show'
我在这里做错了什么?我需要做什么才能books_show_path(book)
工作?