У меня есть приложение, в котором пользователи могут создавать курсы, и каждый курс имеет одну программу. Как я могу настраивать свои курсы и программы (я знаю, что это Syllabi, но, по-видимому, Rails не), контроллер и мои маршруты, поэтому на странице курса есть ссылка, чтобы создать или показать программу курса, а также ссылку на курс с страницы программы обучения?Контроллер и проблемы с маршрутами в моем приложении rails
В моих маршрутах у меня есть:
resources :courses do
resources :syllabuses
member do
put :enroll #this is so users can enroll in the course
end
end
В настоящее время, так что course_id будет сохранен в таблице учебных программ в моем courses_controller, у меня есть:
def create_syllabus
@course = Course.find(params[:id])
@syllabus = @course.build_syllabus(params[:syllabus])
if @syllabus.save
redirect_to @syllabus, notice: "Successfully created syllabus."
else
render :new
end
end
то в моих курсах показать страницу I имеют:
<section>
<% if (current_user.courses.includes(@course) ||
current_user.coursegroups.find_by_course_id_and_role(@course.id, "admin")) %>
<%= render 'create_syllabus' %>
<% end %>
</section>
затем в моей форме create_syllabus (в моей папке с курсами) Я пробовал начиная с:
# I have @course = Course.find(params[:id]) defined in show in the
#courses_controller
<%= form_for @course.create_syllabus do |f| %>
<%= form_for @course.syllabus.create_syllabus do |f| %>
<%= form_for @course.syllabus.create do |f| %>
и я получаю неопределенную ошибку метода для каждого из них.