我想在我的 routes.rb 中创建一个新路由,它指向一个具有 pdfdownload 方法的“课程”控制器。该路线应该采用 2 个参数:course_id 和 user_id。我认为它应该是这样的:
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 guides 在“3.2 Dynamic Segments”中说,它必须这样写:
get ':controller/:action/:id/:user_id'
这里有什么问题?非常感谢!
更新:我在视图中使用以下链接:
<%= link_to "PDF", courses_pdfdownload_path(@course.id, user.id) %>