# routes.rb
resources :topics do
resources :bookmarks, except: [:index]
end
我的书签模型的视图文件位于app/views/topics/bookmarks
:
我在views/topics/_topic.html.erb
:
...
<% if topic.bookmarks.count > 0 %>
<% topic.bookmarks.each do |bookmark| %>
<%= render partial: 'topics/bookmarks/bookmark', locals: { topic: topic, bookmark: bookmark } %>
<% end %>
<% end %>
...
我的问题是我在尝试渲染书签部分时收到了模板丢失错误。我传递给render partial:
的路径不正确吗?我也试过render partial: 'bookmarks/bookmark
。
Missing template bookmarks/edit, application/edit with {:locale=>[:en], :formats=>[:html], :variants=>[],
:handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}.
Searched in: * "/Users/..../dev/.../.../code/.../app/views" *
"/Users/.../.rvm/gems/ruby-2.2.1/gems/devise-3.5.1/app/views"
以下是完整的堆栈跟踪:https://goo.gl/wd3oqQ
答案 0 :(得分:1)
我认为你的控制器应该遵循你想要在views文件夹中使用的相同结构,所以你的书签控制器应该像这样定义:
class Topics::BookmarksController < ApplicationController
它应该放在/ controllers / topics /文件夹中。
您可以在Rails guide
中看到与此相关的内容