Ответ 1
Попробуй это:
<%= render :partial => 'tasks/fields' %>
Например: у меня две модели: Task
и List
. Task
belongs_to
List
. Я lists/_form.html.erb
частично в lists/show.html.erb view
. Теперь мне нужно выполнить tasks/_fields.html.erb
частично в lists/_form.html.erb
partial:
<%= render 'tasks/fields' %>
Но я получаю сообщение об ошибке: ActionView::MissingTemplate
Если я попытаюсь выполнить tasks/_fields.html.erb
в lists/_form.html.erb
, все будет работать.
Я вижу два плохих способа решения этой проблемы:
_fields.html.erb
в папку lists
lists/_form.html.erb
partial и попробуйте "Вложенные макеты" из http://guides.rubyonrails.org/layouts_and_rendering.html.Есть ли хороший способ?
Попробуй это:
<%= render :partial => 'tasks/fields' %>
Если вы делитесь такими вещами, почему бы не поместить их в папку, такую как app/views/shared/
или непосредственно в app/views/layouts
?