У меня есть часть в файле app / views / school / teacher / _sub_tabs.html.haml.Я сделал это частично в app / views / school / teacher / form.html.haml, и он отлично работает.Но когда я пытаюсь отобразить его в компонентах / student / app / views / objects / Students / index.html.haml, выдается ошибка: No route matches {:action=>"show", :controller=>"school/teachers", :id=>nil} missing required keys: [:id]
Ошибка:
#tertiary-slider.pills-container
%span
#tertiary-slider.pills-container
%span
= link_to t('.add_names'), teachers_path(@teacher), class: selected_tab[:add_names]
%span
= link_to t('.add_subject'),subjects_student_path(@resource), class: selected_tab[:add_subject]
Он выдает ошибку на вкладке «add_names»
app/views/school/teachers/_sub_tabs.html.haml
:
#tertiary-slider.pills-container
%span
= link_to t('.add_names'), teacher_path(@teacher), class: selected_tab[:add_names]
%span
= link_to t('.add_subject'),subjects_student_path(@resource), class: selected_tab[:add_subject]
Здесь @resource
может быть teacher
или student
,
components/student/app/views/subjects/students/index.html.haml
:
.col-xs-12.well-bordered
= render 'school/teachers/sub_tabs', { selected_tab: { setting: 'selected' } }
Я думаю, он не может найти @teacher
в subject/students
.Но я возвращаю действие в Subjects::Students
контроллере как:
def find_resource
@resource = if params[:teacher_id]
teacher.find(params[:teacher_id])
else
@student
end
end
Маршруты имеют вид:
scope '/school' do
resources :teachers, module: :school
namespace :subjects do
resources :students
end
end
Когда я проверял, переданный ресурс равен student
, а не teacher
.Как передать teacher
объект?Names
и Subjects
оба принадлежат teacher
.
Спасибо
РЕДАКТИРОВАТЬ 1:
Я пытался передать объект @teacher
на пути как:
#tertiary-slider.pills-container
%span
#tertiary-slider.pills-container
%span
= link_to t('.add_names'), teachers_path(@teacher), class: selected_tab[:add_names]
%span
= link_to t('.add_subject'),subjects_student_path(@teacher), class: selected_tab[:add_subject]
Но даже тогда учительсобирается ноль в Subjects::Students
контроллер.И теперь я получаю ошибку:
Not found