たとえば、次の2つのモデルがあります:Task
とList
。 Task
belongs_to
List
。 lists/_form.html.erb
内のlists/show.html.erb view
部分をレンダリングしています。次に、tasks/_fields.html.erb
パーシャル内でlists/_form.html.erb
パーシャルをレンダリングする必要があります。
<%= render 'tasks/fields' %>
しかし、エラーが発生しますActionView::MissingTemplate
tasks/_fields.html.erb
内でlists/_form.html.erb
をレンダリングしようとすると、すべてが機能します。
この問題を解決するには2つの悪い方法があります。
_fields.html.erb
をlists
フォルダに配置しますlists/_form.html.erb
パーシャルからビューを作成し、 http://guides.rubyonrails.org/layouts_and_rendering.html から「ネストされたレイアウト」を試してください良い方法はありますか?
これを試して:
<%= render :partial => 'tasks/fields' %>
このようなものを共有する場合は、それらをapp/views/shared/
などのフォルダに入れたり、直接app/views/layouts
に入れたりしないでください。