Manipulating microposts
處理完資料模型和相關的 views 之後,現在要把注意力放在透過網站建立 microposts。在這節中,我們會初步實現 status feed,在 Chapter 12 會完善。最後和 users 一樣,我們要實現在網站中刪除 microposts 的功能。
上述功能的實現和之前的方式有點不同。Microposts resource 會透過 Profile 和 Home pages 實現,而不是透過 Microposts controller 的 new 和 edit action,我們只需要 create 和 destroy action。
路由設定如下:
config/routes.rb
Rails.application.routes.draw do
root 'static_pages#home'
get 'help' => 'static_pages#help'
get 'about' => 'static_pages#about'
get 'contact' => 'static_pages#contact'
get 'signup' => 'users#new'
get 'login' => 'sessions#new'
post 'login' => 'sessions#create'
delete 'logout' => 'sessions#destroy'
resources :users
resources :account_activations, only: [:edit]
resources :password_resets, only: [:new, :create, :edit, :update]
resources :microposts, only: [:create, :destroy]
end
產生的 RESTful 路由如下表:
| HTTP request | URL | Action | Purpose |
|---|---|---|---|
| POST | /microposts | create | create a new micropost |
| DELETE | /microposts/1 | destroy | delete micropost with id 1 |
雖然簡化了路由,但暗示著實現的過程需要更高階的技術,而程式碼的複雜度並不會降低。