我有一个链接叫我的笔记本属于我的笔记本,如下:
== link_to "#{note.title.upcase}", notebook_note_path(note), id: "note_name"
我不知道为什么会收到错误。
这是我的路线:
resources :notebooks do
resources :notes
end
答案 0 :(得分:0)
由于您有嵌套路由,因此需要将两个对象传递给辅助方法。而不仅仅是note
,请尝试传递notebook
和note
:
notebook_note_path(note.notebook, note)
供参考,当您设置rake routes
时,请查看routes.rb
的输出:
notebook_notes GET /notebooks/:notebook_id/notes(.:format) notes#index
POST /notebooks/:notebook_id/notes(.:format) notes#create
new_notebook_note GET /notebooks/:notebook_id/notes/new(.:format) notes#new
edit_notebook_note GET /notebooks/:notebook_id/notes/:id/edit(.:format) notes#edit
notebook_note GET /notebooks/:notebook_id/notes/:id(.:format) notes#show
PATCH /notebooks/:notebook_id/notes/:id(.:format) notes#update
PUT /notebooks/:notebook_id/notes/:id(.:format) notes#update
DELETE /notebooks/:notebook_id/notes/:id(.:format) notes#destroy
...
由于此路径的URI为/notebooks/:notebook_id/notes/:id
,因此必须同时包含笔记本ID和注释ID(Rails将替换前面带有冒号的那些,并将传递给辅助方法的资源的id替换为)。