我有一个模型提交,其中有很多表演者。我有一个显示个人提交的部分内容(app/views/submissions/_submission.html.erb):
<div>
Show stuff relating to @submission
...
<%= render @performers %>
</div>
以及用于展示表演者的部分(app/views/performers/_performer.html.erb):
<%= div_for performer do %>
<%= performer.name %>
<% end %>
这适用于(app/views/submissions/show.html.erb):
<%= render @submission %>
但我也想从不同的命名空间(app/views/curator/submissions/show.html.erb)使用它。但我得到这个错误:
Missing partial curator/submissions/submission with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:
* "/Users/ircmullaney/RubyCode/cif/app/views"
* "/Users/ircmullaney/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/gems/devise-2.1.2/app/views"
我可以通过将渲染更改为此来解决此问题:
<%= render 'submissions/submission' %>
但是,嵌套部分失败:
Missing partial curator/performers/performer with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:
* "/Users/ircmullaney/RubyCode/cif/app/views"
* "/Users/ircmullaney/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/gems/devise-2.1.2/app/views"
这不起作用:
<%= render 'performers/performer' %>
因为 div_for:
undefined method `model_name' for NilClass:Class
有什么想法我应该怎么做?
更新:除了 iouri 建议的更改之外,我将其添加到我的表演者部分:
<% @performers.each do |performer| %>
<%= div_for performer do %>
<%= performer.name %>
<% end %>
<% end %>