如何在rails中生成路由URL

时间:2014-03-20 18:22:50

标签: ruby-on-rails ruby ruby-on-rails-3

我尝试运行命令rake routes,我得到以下列表。

F:\My-Projects\Personal\odot>rake routes
                  Prefix Verb   URI Pattern
        Controller#Action
    todo_list_todo_items GET    /todo_lists/:todo_list_id/todo_items(.:format)
        todo_items#index
                         POST   /todo_lists/:todo_list_id/todo_items(.:format)
        todo_items#create
 new_todo_list_todo_item GET    /todo_lists/:todo_list_id/todo_items/new(.:forma
t)      todo_items#new
edit_todo_list_todo_item GET    /todo_lists/:todo_list_id/todo_items/:id/edit(.:
format) todo_items#edit
     todo_list_todo_item GET    /todo_lists/:todo_list_id/todo_items/:id(.:forma
t)      todo_items#show
                         PATCH  /todo_lists/:todo_list_id/todo_items/:id(.:forma
t)      todo_items#update
                         PUT    /todo_lists/:todo_list_id/todo_items/:id(.:forma
t)      todo_items#update
                         DELETE /todo_lists/:todo_list_id/todo_items/:id(.:forma
t)      todo_items#destroy
              todo_lists GET    /todo_lists(.:format)
        todo_lists#index
                         POST   /todo_lists(.:format)
        todo_lists#create
           new_todo_list GET    /todo_lists/new(.:format)
        todo_lists#new
          edit_todo_list GET    /todo_lists/:id/edit(.:format)
        todo_lists#edit
               todo_list GET    /todo_lists/:id(.:format)
        todo_lists#show
                         PATCH  /todo_lists/:id(.:format)
        todo_lists#update
                         PUT    /todo_lists/:id(.:format)
        todo_lists#update
                         DELETE /todo_lists/:id(.:format)
        todo_lists#destroy
                    root GET    /
        todo_lists#index

这些网址是如何生成的?我回头看config/routes.rb并且只找到这些线。

Odot::Application.routes.draw do
  resources :todo_lists do
    resources :todo_items
  end

  root 'todo_lists#index'
end

例如:

todo_lists#destroy  DELETE /todo_lists/:id(.:format)

如何为destroy事件自动生成此url?。

2 个答案:

答案 0 :(得分:1)

在Rails中,resources路由是定义RESTful路由的简短方法。它将为您提供数据库中CRUD操作的完整实现。

请参阅此处的文档:CRUD, Verbs, and Actions

答案 1 :(得分:0)

那些是宁静的路线,"资源"您的路线文件中的行添加它们。 您可以找到有关here

主题的更多信息