24

Rails 自动添加的路径是什么?假设您有一个问题资源,您会自动获得 questions_path、question_path 等。我在哪里可以看到他们解决了什么问题以及我得到了什么?

4

3 回答 3

43

本节可能会有所帮助http://guides.rubyonrails.org/routing.html#specifying-a-controller-to-use

Verb    Path              Action     Helper

GET     /photos           index      photos_path
GET     /photos/new       new        new_photo_path
POST    /photos           create     photos_path
GET     /photos/:id       show       photo_path(:id)
GET     /photos/:id/edit  edit       edit_photo_path(:id)
PUT     /photos/:id       update     photo_path(:id)
DELETE  /photos/:id       destroy    photo_path(:id)

如果您想为show操作创建一个助手,您可以编写

photo_path(@photo.id)

@photo你的模型对象在哪里。或者,@photo如果它响应id方法,您可以直接传递。

photo_path(@photo)
edit_photo_path(@photo)

您还可以加载rails console(在终端中)并使用app这样的方式测试路线app.photo_path(1)(它会向您显示带有idequals的照片的路线1

于 2012-08-08T11:24:20.370 回答
10

只需使用:

rake routes

这将列出所有定义的路由。第一列与您的路径助手相关。

于 2012-08-08T11:21:25.333 回答
0

如果您的路线文件中有以下内容:

resources :questions

然后 Rails 为您提供了以下宁静的路线:

GET     /questions          index       list of questions
GET     /questions/new      new         show new question form
POST    /questions          create      create a new question
GET     /questions/:id      show        show a specific question
GET     /questions/:id/edit edit        show form to edit question
PUT     /questions/:id      update      update a specific question
DELETE  /questions/:id      destroy     delete a specific question

您还可以运行 rake:routes 来查看正在生成的内容。

于 2012-08-08T11:24:44.600 回答