"-6ren">
gpt4 book ai didi

ruby-on-rails - 如何修复以下代码的路由错误?

转载 作者:太空宇宙 更新时间:2023-11-03 18:05:46 25 4
gpt4 key购买 nike

我很难修复路由路径。例如,我正在尝试创建一条通往创建新类(class)页面的路径。

<li><%= link_to "new lesson", course_lesson_path %></li>

我收到错误提示

No route matches {:action=>"show", :controller=>"lessons"}, missing required keys: [:course_id, :id]
        new_user_session GET    /users/sign_in(.:format)                       devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
user_password PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
POST /users/password(.:format) devise/passwords#create
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
user_registration PATCH /users(.:format) devise/registrations#update
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
POST /users(.:format) devise/registrations#create
root GET / devise/registrations#new
course_lessons GET /courses/:course_id/lessons(.:format) lessons#index
POST /courses/:course_id/lessons(.:format) lessons#create
new_course_lesson GET /courses/:course_id/lessons/new(.:format) lessons#new
edit_course_lesson GET /courses/:course_id/lessons/:id/edit(.:format) lessons#edit
course_lesson GET /courses/:course_id/lessons/:id(.:format) lessons#show
PATCH /courses/:course_id/lessons/:id(.:format) lessons#update
PUT /courses/:course_id/lessons/:id(.:format) lessons#update
DELETE /courses/:course_id/lessons/:id(.:format) lessons#destroy
courses GET /courses(.:format) courses#index
POST /courses(.:format) courses#create
new_course GET /courses/new(.:format) courses#new
edit_course GET /courses/:id/edit(.:format) courses#edit
course GET /courses/:id(.:format) courses#show
PATCH /courses/:id(.:format) courses#update
PUT /courses/:id(.:format) courses#update
DELETE /courses/:id(.:format) courses#destroy

我在想我创建模型的方式并不好,因为我有一个类(class)模型和一个类(class)模型,而且我在类(class)模型属性中使用了类(class):引用,这把事情搞砸了。

最佳答案

在你的例子中,如果你想创建一个重定向到新的 /courses/:course_id/lessons/new 路径的链接,你需要使用 new_course_lesson_path传递所需的 course_id,例如:

<li><%= link_to "new lesson", new_course_lesson_path(id: 1) %></li> <!-- 1 as example -->

您看到 missing required keys: [:course_id, :id] 错误的原因是因为 course_lesson_path 已定义为在参数中接收两个值:

/courses/:course_id/lessons/:id # :course_id and :id

在那种情况下它会是这样的:

<li><%= link_to "new lesson", course_lesson_path(course_id: 1, id: 1) %></li> <!-- 1 and 1 as example -->

关于ruby-on-rails - 如何修复以下代码的路由错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46274916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com