メソッドpdfdownloadを持つ「コース」コントローラーを指す、routes.rbに新しいルートを作成したいと思います。ルートは、course_id と user_id の 2 つのパラメーターを取ることになっています。私はそれが次のようであるべきだと思った:
get "/courses/pdfdownload/:course_id/:user_id"
上記の行を追加するまで、コースコントローラーとすべてが正常に機能します。コースコントローラーには、pdfdownload というメソッドがあります。それにもかかわらず、サーバー (rails s) を起動しようとすると、次のエラーが発生します。
warning: already initialized constant Mime::PDF
warning: previous definition of PDF was here
Exiting
`default_controller_and_action': missing :controller (ArgumentError)
rake:routes と入力すると、次のようになります。
missing :controller
コースコントローラーは存在し、多くの方法で非常にうまく機能しています。行を次のように変更した後:
get "/courses/pdfdownload"
サーバーが起動します。
Rails ガイドの「3.2 Dynamic Segments」では、次のように記述する必要があります。
get ':controller/:action/:id/:user_id'
ここで何が問題なのですか?どうもありがとうございました!
更新:ビューで次のリンクを使用しています:
<%= link_to "PDF", courses_pdfdownload_path(@course.id, user.id) %>