у меня есть маршруты, как это:добавляющие дополнительные параметры трактов динамически рубин на рельсах
resources :lesson_plans do
resources :videos
end
, а также
resources :subjects do
resources :lesson_plans do
resources :videos
end
end
Теперь я хочу, чтобы создавать динамические пути и добавления условных параметров к ним.
Если у меня есть URL, как:
http://localhost:3000/teacher/katherine-fleming/subjects/3/lesson_plans/3
путь теперь:
http://localhost:3000/teacher/katherine-fleming/subjects/3/lesson_plans
/3/videos/new
, но если у меня есть URL, как это:
http://localhost:3000/teacher/carmel-cynthia/lesson_plans/68
путь является:
http://localhost:3000/teacher/carmel-cynthia/lesson_plans//videos/new.68
, но это должно быть в качестве моего требования:
http://localhost:3000/teacher/carmel-cynthia/lesson_plans/68/videos/new
код, который я пытаюсь это:
Код:
<% subject_path = params[:subject_id].present? ? 'subject_' : '' %>
<% subject_var = params[:subject_id].present? ? @subject : '' %>
Кнопка:
<%= link_to '+ New Video', send("new_teacher_teacher_#
{subject_path}lesson_plan_video_path", @teacher, subject_var, @lesson_plan),
remote: true, class: "btn btn-info plans-items-btn" %>
Более лучший способ справиться с этим. В основном subject_id - это то, что у меня есть опция для обоих случаев.
'получить 'учитель /: teacher_id (/: субъекты (/: subject_id))/lesson_plans /: lesson_plan_id' =>«видео # new'' - Что о том, что-то вроде этого в верхней части вашего 'routes.rb'? – dp7
Я попробовал учитель 'get '/: teacher_id (/: subject (/: subject_id))/lesson_plans /: lesson_plan_id' => 'videos # new' post 'teacher /: teacher_id (/: subject (/: subject_id)))/lesson_plans /: lesson_plan_id '=>' lesson_plans # show'', и он говорит: 'ActionController :: RoutingError (Нет совпадений маршрута [GET]"/teacher/carmel-cynthia/lesson_plans/68 "):' – LearningROR
Не можем ли мы использовать маршруты ресурсов? он может включать в себя около 30 маршрутов для дополнительных параметров для предоставления в файле маршрутов. Лучше работать? У меня есть 30 маршрутов с и без subject_id. поэтому вместо 60 маршрутов линий. Я хочу работать с минимальными строками кода. :) – LearningROR