ルーティングパスを修正するのに苦労しています。たとえば、新しいレッスンページを作成するためのパスを作成しようとしています。私はエラーが私は私がコースのモデルと授業モデルを持っていたとして、私のモデルが良くなかった作成方法を考えています以下のコードのルーティングエラーを修正するにはどうすればよいですか?
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
を言ってもらう
<li><%= link_to "new lesson", course_lesson_path %></li>
私はレッスンモデルの属性とその種のものを参考にしてコースを使用しました。あなたのケースでは
'new_course_lesson_path'メソッドは、':course_id'で呼び出す必要があります。引数をハッシュとして指定した場合は、 ':id'ではありません。代わりに@sbulatのように呼び出すこともできますが、読みやすさのためにあなたのやり方が好きです。 – DanneManne
ありがとう!ソリューションは機能しましたが、私はコースIDをハードコードしたくないです。新しいコースを追加すると、そのコースに属するレッスンをどのように作成できるのでしょうか? – joshua
はい、これらの値は一例に過ぎません。どのコースにもアクセスできるルートにいる場合は、すでにIDを持っているので、レッスンを作成するコースがあります。 –