關注

為了避免在巢狀路由中重複,關注點提供了一種共享可重用的公共資源的好方法。要建立關注點,請使用 routes.rb 檔案中的 concern 方法。該方法需要一個符號和塊:

concern :commentable do
  resources :comments
end

雖然本身不​​建立任何路由,但此程式碼允許在資源上使用:concerns 屬性。最簡單的例子是:

resource :page, concerns: :commentable

等效的巢狀資源如下所示:

resource :page do
  resource :comments
end

例如,這將構建以下路由:

/pages/#{page_id}/comments
/pages/#{page_id}/comments/#{comment_id}

為了使問題有意義,必須有多種資源利用這種關注。其他資源可以使用以下任何語法來呼叫問題:

resource :post, concerns: %i(commentable)
resource :blog do
  concerns :commentable
end