我在軌道tutorial上關注路線上的整潔紅寶石。所以我想知道,路由怎麼知道這麼多?路由如何知道這麼多?
我有一個名爲posts_controller的控制器和一個後期模型。在routes.rb中的文件,我添加
# config/routes.rb
resources :posts
據我的理解是,這將自動創建與帖子相關聯的所有控制器操作的適當路線。到目前爲止,我只有一個方法,我posts_controller:
# app/controllers/posts_controller.rb
def index
end
但奇怪的是,當我執行
$ rake routes
它給了我這一切:
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
如何路由機制知道這麼多,卻從未告訴過我想要創建和更新帖子?
啊,這可以解釋一些事情。那麼使用它是不明智的?你會用什麼? – weltschmerz
我不是故意暗示你不應該使用它,只是它會創建你默認不需要的路線。我已更新我的代碼,以顯示如何限制您所需的操作。 – weexpectedTHIS
太棒了,謝謝! – weltschmerz