多くのパフォーマーを持つモデル提出物があります。個々の提出物を表示するための部分があります (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 %>